Files
sanguo_vnpy/scripts/deployment/copy_and_start.sh
T
2026-04-11 21:18:55 +08:00

59 lines
1.5 KiB
Bash

#!/bin/bash
#
# 复制修复代码并启动服务
#
set -e
echo "=========================================="
echo "🚀 Copying fixed code and starting service"
echo "=========================================="
# 杀死所有旧进程
echo "🔪 Killing old 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')
" 2>/dev/null || true
sleep 2
# 确保目录存在
mkdir -p /app/scripts
cd /app/scripts
# 启动修复后的RPC服务
echo "🚀 Starting fixed RPC on port 8008..."
python3 final_rpc_correct.py &
RPC_PID=$!
echo "RPC started with PID: $RPC_PID"
sleep 3
# 启动修复后的API服务
echo "🚀 Starting fixed API on port 8088..."
python3 -m uvicorn api_for_fixed_rpc:app --host 0.0.0.0 --port 8088 &
API_PID=$!
echo "API started with PID: $API_PID"
echo "=========================================="
echo "✅ All services started!"
echo " RPC: 127.0.0.1:8008 (container internal)"
echo " API: 0.0.0.0:8088 (host mapped)"
echo "=========================================="
# 等待进程
wait