initial-import: 2026-04-11 21:18:55
This commit is contained in:
Executable
+83
@@ -0,0 +1,83 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ============================================
|
||||
# 启动 sanguo_quant_live 自动监听服务
|
||||
# 启动后,任何代码修改都会自动触发部署回测
|
||||
# 完全无人值守!
|
||||
# ============================================
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
LOG_FILE="$SCRIPT_DIR/auto_watcher.log"
|
||||
PID_FILE="$SCRIPT_DIR/auto_watcher.pid"
|
||||
|
||||
start() {
|
||||
echo "启动 sanguo_quant_live 自动监听服务..."
|
||||
|
||||
# 检查是否已经运行
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if kill -0 "$PID" 2>/dev/null; then
|
||||
echo "❌ 自动监听服务已经在运行 (PID: $PID)"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# 后台启动(在虚拟环境中)
|
||||
nohup bash -c "source '$SCRIPT_DIR/vnpy_env/bin/activate' && python3 '$SCRIPT_DIR/auto_watcher.py'" >> "$LOG_FILE" 2>&1 &
|
||||
PID=$!
|
||||
echo "$PID" > "$PID_FILE"
|
||||
|
||||
echo "✅ 自动监听服务已启动 (PID: $PID)"
|
||||
echo "📝 日志: $LOG_FILE"
|
||||
echo "🔍 现在您修改任何代码(策略/框架/配置)都会自动触发部署回测!"
|
||||
echo "🎯 完全无人值守,喝茶去吧!"
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo "停止自动监听服务..."
|
||||
|
||||
if [ ! -f "$PID_FILE" ]; then
|
||||
echo "❌ 自动监听服务没有运行"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PID=$(cat "$PID_FILE")
|
||||
kill "$PID" 2>/dev/null
|
||||
rm -f "$PID_FILE"
|
||||
|
||||
echo "✅ 自动监听服务已停止"
|
||||
}
|
||||
|
||||
status() {
|
||||
if [ -f "$PID_FILE" ]; then
|
||||
PID=$(cat "$PID_FILE")
|
||||
if kill -0 "$PID" 2>/dev/null; then
|
||||
echo "✅ 自动监听服务正在运行 (PID: $PID)"
|
||||
else
|
||||
echo "❌ PID 文件存在,但进程不存在"
|
||||
fi
|
||||
else
|
||||
echo "❌ 自动监听服务没有运行"
|
||||
fi
|
||||
}
|
||||
|
||||
case "${1:-start}" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
status)
|
||||
status
|
||||
;;
|
||||
restart)
|
||||
stop
|
||||
sleep 1
|
||||
start
|
||||
;;
|
||||
*)
|
||||
echo "用法: $0 {start|stop|status|restart}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user