c2a89d01a4
spec §14 方案A 数据层迁移完成 + E2E 验证(read_db_daily: 在市/退市治偏差/ETF 全OK):
- dbbardata('d') 1826万含退市(治回测幸存者偏差, INSERT OR REPLACE staging迁移, WHERE OHLC NOT NULL+COALESCE)
- constituent_unified 7110行/9指数(300/500/50 baostock全集 + 深证4指 akshare cni union + 中证1000/2000 snapshot)
- pe/pb 不进DB -> valuation_baostock/<year>.parquet 按年宽表(2003-2026)
- 废弃 daily_baostock_full/bs_index_constituent(rename _old 保留); 旧4 schtask disabled
- 新 schtask sanguo-bs-eod 18:05(baostock个股日线+15min+拆pe/pb DAILY_LIMIT 48000) + sanguo-xt-eod 18:40(ETF/基金xtata)
- 权威源: baostock个股日线+估值+15min+复权+300/500/50 / xtata ETF+基金+当天实时 / akshare三表+事件+深证中证成份股
- 全程备份+staging+_old保留可回滚; 脚本 audit/probe/migrate/merge/cleanup/fix_config/verify/bs_eod/xt_eod/wrapper/register_schtasks
- 待办(spec §6 使用层): LocalParquetProvider 接 constituent_unified+valuation_baostock + 实时拼接
26 lines
1.6 KiB
PowerShell
26 lines
1.6 KiB
PowerShell
# diag_daily_update.ps1 — 诊断 sanguo-daily-update 为何跑 2.5h
|
|
Write-Output "=== NOW: $(Get-Date) ==="
|
|
Write-Output "=== python 进程 (CPU秒/内存MB/启动时间) ==="
|
|
Get-Process python -ErrorAction SilentlyContinue |
|
|
Select-Object Id, @{n='CPU_s'; e={[math]::Round($_.CPU, 1)}},
|
|
@{n='WS_MB'; e={[math]::Round($_.WS / 1MB, 0)}}, StartTime |
|
|
Format-Table -Auto
|
|
Write-Output "=== schtask sanguo-daily-update (状态+执行的命令) ==="
|
|
$i = Get-ScheduledTaskInfo -TaskName sanguo-daily-update
|
|
Write-Output ("last={0} result=0x{1:X} next={2}" -f $i.LastRunTime, $i.LastTaskResult, $i.NextRunTime)
|
|
Write-Output "--- Task Action (实际执行) ---"
|
|
(Get-ScheduledTask -TaskName sanguo-daily-update).Actions |
|
|
Select-Object Execute, Arguments | Format-List
|
|
Write-Output "=== daily_update.log tail 40 ==="
|
|
Get-Content C:\sanguo_vnpy_v2\data\daily_update.log -Tail 40 -ErrorAction SilentlyContinue
|
|
Write-Output "=== qfq/ 各年: 文件数 + 最新写入时间 ==="
|
|
Get-ChildItem C:\sanguo_vnpy_v2\data\qfq -Directory -ErrorAction SilentlyContinue | ForEach-Object {
|
|
$files = Get-ChildItem $_.FullName -File -ErrorAction SilentlyContinue
|
|
$mx = ($files | Sort-Object LastWriteTime -Descending | Select-Object -First 1).LastWriteTime
|
|
Write-Output (" {0}: files={1} lastwrite={2}" -f $_.Name, $files.Count, $mx)
|
|
}
|
|
Write-Output "=== qfq/2026 最新写入 top 5 (看在不在写) ==="
|
|
Get-ChildItem C:\sanguo_vnpy_v2\data\qfq\2026 -ErrorAction SilentlyContinue |
|
|
Sort-Object LastWriteTime -Descending | Select-Object -First 5 Name, LastWriteTime |
|
|
Format-Table -Auto
|