Initial commit
This commit is contained in:
Executable
+37
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
# 5分钟K线数据每日采集脚本
|
||||
# 交易日收盘后执行,采集当天全市场的5分钟K线数据
|
||||
# 建议在 17:30 后运行(收盘后数据完整)
|
||||
#
|
||||
# 使用新浪API(stock_zh_a_minute),稳定不限流
|
||||
# 3线程并发(东财API),全市场约5800只,预计耗时约60-90分钟
|
||||
|
||||
DAY_OF_WEEK=$(date +%u)
|
||||
|
||||
# 周六(6)、周日(7)跳过
|
||||
if [ "$DAY_OF_WEEK" -ge 6 ]; then
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') 今天是周末,跳过5分钟K线采集"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') 开始5分钟K线采集..."
|
||||
|
||||
cd /opt/stock-app
|
||||
export DB_PASSWORD=stock_password_2025
|
||||
|
||||
# 清理可能残留的锁文件(防止权限问题导致无法启动)
|
||||
LOCK_FILE="/tmp/sync_kline_5min.lock"
|
||||
if [ -f "$LOCK_FILE" ]; then
|
||||
# 检查锁文件中记录的PID是否仍在运行
|
||||
OLD_PID=$(cat "$LOCK_FILE" 2>/dev/null)
|
||||
if [ -n "$OLD_PID" ] && ! kill -0 "$OLD_PID" 2>/dev/null; then
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') 清理残留锁文件 (旧PID: $OLD_PID 已不存在)"
|
||||
rm -f "$LOCK_FILE"
|
||||
fi
|
||||
fi
|
||||
|
||||
/opt/stock-app/venv/bin/python sync_kline_5min.py --delay 0.8 --workers 3
|
||||
|
||||
EXIT_CODE=$?
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') 5分钟K线采集完成,退出码: $EXIT_CODE"
|
||||
exit $EXIT_CODE
|
||||
Reference in New Issue
Block a user