Files
2026-04-29 20:15:43 +08:00

50 lines
1.4 KiB
Bash

#!/bin/bash
#
# 容器启动入口点 - 自动启动修复后的回测服务
#
echo "=========================================="
echo "🚀 Starting sanguo_vnpy with fixed backtest service"
echo "=========================================="
# 启动原有的supervisord
/usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf &
# 等待一会儿
sleep 5
# 杀死所有可能旧的回测进程
echo "🔪 Killing old backtest processes..."
python3 -c "
import os
import signal
count = 0
for proc in os.listdir('/proc'):
if proc.isdigit():
try:
cmdline = open(f'/proc/{proc}/cmdline').read()
if 'python' in cmdline and ('uvicorn' in cmdline or 'rpc' in cmdline or 'backtest' in cmdline or 'final_rpc' in cmdline):
print(f'Killing pid {proc}: {cmdline[:60]}')
os.kill(int(proc), signal.SIGKILL)
count += 1
except Exception as e:
pass
print(f'Killed {count} processes')
"
sleep 2
# 启动修复后的服务
echo "🚀 Starting fixed backtest services..."
cd /app/scripts && python3 final_rpc_correct.py &
sleep 2
cd /app/scripts && python3 -m uvicorn api_for_fixed_rpc:app --host 0.0.0.0 --port 8088 &
echo "✅ All services started!"
echo " RPC: 127.0.0.1:8008 (container internal)"
echo " API: 0.0.0.0:8088 (host mapped)"
echo "=========================================="
# 等待所有进程
wait