网络请求加超时防止卡死,持仓同步限制最近20天,次日预测移出表格

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-07-25 22:23:59 +08:00
parent 18575d1c55
commit 3a32429a5f
4 changed files with 55 additions and 28 deletions
+8 -3
View File
@@ -1,7 +1,10 @@
"""Data collector — fetch OHLCV from akshare and upsert into daily_bars."""
import socket
import threading
import time
from datetime import date
socket.setdefaulttimeout(15)
from app.database import SessionLocal
from app.models import DailyBar, Contract
from app.engine.lock_strategy import compute_amp_5d
@@ -111,7 +114,9 @@ def sync_positions_bg(contract_code: str) -> bool:
r[0] for r in
db.query(DailyBar.date)
.filter(DailyBar.contract == code)
.order_by(DailyBar.date).all()
.order_by(DailyBar.date.desc())
.limit(20)
.all()
]
missing = [d for d in bar_dates if d not in existing_dates]
total_missing = len(missing)
@@ -341,10 +346,10 @@ def _sync_positions_for_contract(db, contract_code: str) -> int:
r[0] for r in
db.query(DailyBar.date)
.filter(DailyBar.contract == code)
.order_by(DailyBar.date)
.order_by(DailyBar.date.desc())
.limit(20)
.all()
]
inserted = 0
for d in bar_dates:
if d in existing_dates: