fix: 修复 scheduler.py 和 sim_trade.py 中智能引擎调用连接泄漏
- scheduler.py: job_morning_trade/job_afternoon_trade 智能引擎 put_db 移到 finally - sim_trade.py: trigger_trade 降级路径 put_db 移到 finally,初始化 conn=None - 统一使用 smart_conn 变量名避免与外层 conn 冲突
This commit is contained in:
@@ -648,15 +648,22 @@ def trigger_trade():
|
||||
# 降级: 使用旧引擎
|
||||
from services.scheduler import execute_auto_trade_for_user
|
||||
|
||||
conn = get_db()
|
||||
if conn:
|
||||
cur = conn.cursor(cursor_factory=RealDictCursor)
|
||||
cur.execute("SELECT trade_quantity FROM sim_config WHERE user_id = %s", (user_id,))
|
||||
config = cur.fetchone()
|
||||
trade_quantity = config['trade_quantity'] if config else 1000
|
||||
put_db(conn)
|
||||
else:
|
||||
conn = None
|
||||
try:
|
||||
conn = get_db()
|
||||
if conn:
|
||||
cur = conn.cursor(cursor_factory=RealDictCursor)
|
||||
cur.execute("SELECT trade_quantity FROM sim_config WHERE user_id = %s", (user_id,))
|
||||
config = cur.fetchone()
|
||||
trade_quantity = config['trade_quantity'] if config else 1000
|
||||
else:
|
||||
trade_quantity = 1000
|
||||
except Exception as e:
|
||||
print(f"[trigger_trade] 获取交易配置失败: {e}")
|
||||
trade_quantity = 1000
|
||||
finally:
|
||||
if conn:
|
||||
put_db(conn)
|
||||
|
||||
result = execute_auto_trade_for_user(user_id, trade_quantity)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user