fix(start_recommendations): 优化虚拟环境激活逻辑
更新 `start_recommendations.sh` 脚本,优先使用 `trading_system/.venv` 激活虚拟环境,确保与服务器部署一致。增强错误提示信息,提升用户体验与环境配置的准确性。
This commit is contained in:
parent
4479c4f02d
commit
4ccf067b24
|
|
@ -1357,7 +1357,7 @@ async def backend_stop(_admin: Dict[str, Any] = Depends(require_system_admin)) -
|
|||
def _recommendations_process_running() -> Tuple[bool, Optional[int]]:
|
||||
"""检查推荐服务进程是否运行,返回 (running, pid)。兼容 pgrep/ps 及 supervisor 等启动方式。"""
|
||||
# 1. 优先 pgrep(Linux/macOS 常见)
|
||||
for pattern in ["trading_system.recommendations_main", "recommendations_main"]:
|
||||
for pattern in ["trading_system.recommendations_main", "recommendations_main1", "recommendations_main"]:
|
||||
try:
|
||||
result = subprocess.run(
|
||||
["pgrep", "-f", pattern],
|
||||
|
|
@ -1375,7 +1375,7 @@ def _recommendations_process_running() -> Tuple[bool, Optional[int]]:
|
|||
# 2. 回退:ps + grep(pgrep 不可用或匹配失败时)
|
||||
try:
|
||||
result = subprocess.run(
|
||||
["sh", "-c", "ps aux 2>/dev/null | grep -E 'recommendations_main|trading_system.recommendations' | grep -v grep | head -1"],
|
||||
["sh", "-c", "ps aux 2>/dev/null | grep -E 'recommendations_main1|recommendations_main|trading_system.recommendations' | grep -v grep | head -1"],
|
||||
capture_output=True,
|
||||
text=True,
|
||||
timeout=5,
|
||||
|
|
|
|||
|
|
@ -1,21 +1,25 @@
|
|||
#!/bin/bash
|
||||
# 启动推荐服务(recommendations_main)
|
||||
# 参考 backend/start.sh,使用相同 venv 与项目根目录
|
||||
# 优先使用 trading_system/.venv(与服务器实际部署一致),其次 backend/.venv
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
BACKEND_DIR="$(pwd)"
|
||||
PROJECT_ROOT="$(cd .. && pwd)"
|
||||
TRADING_VENV="${PROJECT_ROOT}/trading_system/.venv"
|
||||
|
||||
# 激活虚拟环境(与 backend/start.sh 一致)
|
||||
if [ -d ".venv" ]; then
|
||||
# 激活虚拟环境:优先 trading_system/.venv,其次 backend 下
|
||||
if [ -d "${TRADING_VENV}" ]; then
|
||||
source "${TRADING_VENV}/bin/activate"
|
||||
elif [ -d ".venv" ]; then
|
||||
source .venv/bin/activate
|
||||
elif [ -d "../.venv" ]; then
|
||||
source ../.venv/bin/activate
|
||||
else
|
||||
echo "错误: 找不到虚拟环境(.venv 或 ../.venv)"
|
||||
echo "错误: 找不到虚拟环境(trading_system/.venv、.venv 或 ../.venv)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 设置环境变量(与 backend/start.sh 类似)
|
||||
# 设置环境变量
|
||||
export PYTHONPATH="${PROJECT_ROOT}"
|
||||
export DB_HOST=${DB_HOST:-localhost}
|
||||
export DB_PORT=${DB_PORT:-3306}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user