auto-sync: 2026-05-02 19:56:18

This commit is contained in:
cfdaily
2026-05-02 19:56:18 +08:00
parent 6a52b1b00d
commit 634a3fa8ed
+6 -6
View File
@@ -153,19 +153,21 @@ def main():
time.sleep(0.3)
# 写vnpy DB
# 写vnpy DB - 直接在NAS上追加增量(避免1.4GB全量copy)
if all_db_values:
logger.info(f"写入vnpy DB: {len(all_db_values)} 条记录")
try:
shutil.copy2(VNPY_DB_PATH, LOCAL_DB_TMP)
conn = sqlite3.connect(LOCAL_DB_TMP)
# 方式1: 直接在NAS DB上INSERT OR REPLACE(增量数据量小,SMB可接受)
conn = sqlite3.connect(VNPY_DB_PATH, timeout=120)
c = conn.cursor()
c.execute("PRAGMA journal_mode=WAL")
for j in range(0, len(all_db_values), BATCH_SIZE):
c.executemany('''INSERT OR REPLACE INTO dbbardata
(symbol,exchange,datetime,interval,volume,turnover,open_interest,
open_price,high_price,low_price,close_price)
VALUES (?,?,?,?,?,?,?,?,?,?,?)''', all_db_values[j:j+BATCH_SIZE])
conn.commit()
conn.commit()
logger.info(f" 写入批次 {j//BATCH_SIZE + 1}/{(len(all_db_values)-1)//BATCH_SIZE + 1}")
# 重建overview
c.execute('''INSERT OR REPLACE INTO dbbaroverview (symbol,exchange,interval,count,start,end)
@@ -173,8 +175,6 @@ def main():
FROM dbbardata GROUP BY symbol,exchange,interval''')
conn.commit()
conn.close()
shutil.copy2(LOCAL_DB_TMP, VNPY_DB_PATH)
logger.info("✅ vnpy DB更新完成")
except Exception as e:
logger.error(f"❌ vnpy DB更新失败: {e}")