#!/bin/bash #!/bin/bash # systemd 调度的入口(专跑 stock_node - 股票-节点映射) # # 设计: # - 与 market_sync_moneyflow_run.sh 同构,只跑 stock_node 一个 task # - 周六 11:30 触发(mairui /hszg 数据 11:00 更新,留 30 min buffer) # - 单次 ~1100 次 mairui 调用(@10RPS,~2 min) # - 单独日志到 logs/stock_node_.log # - exit code 透传 # # 并发选择(2026-07-07 调整): # - workers=8 × 默认 MAIRUI_RPS_LIMIT=10 = 80 RPS # - 钻石 licence 上限 100 RPS,留 20% buffer 防风控 # - 之前 20 workers × 10 RPS = 200 RPS 撞穿钻石档,mairui 返"请稍后再试" set -u PROJECT_ROOT="/home/gao/Development/quant_home/market_sync" LOG_DIR="$PROJECT_ROOT/logs" mkdir -p "$LOG_DIR" TS=$(date +%Y%m%d_%H%M%S) LOG="$LOG_DIR/stock_node_${TS}.log" echo "[market-sync-stock-node] start ts=$TS log=$LOG" | tee -a "$LOG" # 注:不做法定节假日过滤 —— 与其他 3 个 timer 一致的 fail-open 原则。 # 周六 stock_node 即使撞节假日,mairui 仍可能返上一周数据 → task 报 warning,不丢历史。 # ── 跑 stock_node ── cd "$PROJECT_ROOT" .venv/bin/python -m app.entrypoints.cli sync stock_node --workers 8 2>&1 | tee -a "$LOG" EXIT_CODE=${PIPESTATUS[0]} echo "[market-sync-stock-node] done exit_code=$EXIT_CODE" | tee -a "$LOG" exit $EXIT_CODE