auto-sync: 2026-05-02 19:56:18
This commit is contained in:
@@ -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}")
|
||||
|
||||
Reference in New Issue
Block a user