fix: 修复连接池泄漏(conn.close改为put_db) + put_db处理已关闭连接 + 添加日线同步cron

This commit is contained in:
freedakgmail
2026-07-22 07:12:09 +08:00
parent 488ef6b8e2
commit 9a5e24ccd6
5 changed files with 54 additions and 54 deletions
+11 -11
View File
@@ -313,7 +313,7 @@ def ai_analyze_stream(stock_code):
from flask import Response
from services.doubao_api import analyze_stock_stream, format_fund_flow, format_market_cap
from services.mairui_api import get_realtime_price as mairui_price, get_financial_indicators
from db import get_db
from db import get_db, put_db
def generate():
# 获取股票数据
@@ -384,7 +384,7 @@ def ai_analyze_stream(stock_code):
stock_data['triggered_count'] = scan_row['triggered_count'] or 0
cur2.close()
conn.close()
put_db(conn)
except Exception as e:
print(f"获取数据失败: {e}")
@@ -399,7 +399,7 @@ def ai_analyze_stream(stock_code):
_cur.execute("INSERT INTO ai_call_log (user_id, stock_code, stock_name) VALUES (%s, %s, %s)",
(_uid, stock_code, stock_name))
_conn.commit()
_conn.close()
_put_db(conn)
except Exception:
pass
@@ -421,7 +421,7 @@ def ai_analyze(stock_code):
try:
from services.doubao_api import analyze_stock
from services.mairui_api import get_realtime_price as mairui_price, get_financial_indicators
from db import get_db
from db import get_db, put_db
# 获取股票数据
stock_data = {}
@@ -467,7 +467,7 @@ def ai_analyze(stock_code):
'super_pct': float(row[3]) if row[3] else 0,
})
stock_data['fund_flow_3days'] = fund_flow
conn.close()
put_db(conn)
except Exception as e:
print(f"获取资金流向失败: {e}")
@@ -603,7 +603,7 @@ def batch_technical_signals():
scan_map[row['code']] = row
cur.close()
conn.close()
put_db(conn)
except Exception as e:
print(f"批量扫描获取数据失败: {e}")
@@ -925,7 +925,7 @@ def get_scan_results():
recommend_counts[disp] = recommend_counts.get(disp, 0) + 1
cur.close()
conn.close()
put_db(conn)
return jsonify({
'success': True,
@@ -1003,7 +1003,7 @@ def signal_alerts():
WHERE code IN ({placeholders})
""", stock_codes)
price_rows = cur.fetchall()
conn.close()
put_db(conn)
price_map = {}
change_map = {}
@@ -1153,7 +1153,7 @@ def get_scan_status():
triggered = cur.fetchone()[0]
cur.close()
conn.close()
put_db(conn)
return jsonify({
'success': True,
@@ -1241,7 +1241,7 @@ def get_scan_strategy():
""", (scan_date,))
rows = cur.fetchall()
cur.close()
conn.close()
put_db(conn)
tier1, tier2, tier3, tier4 = [], [], [], []
for r in rows:
@@ -1376,7 +1376,7 @@ def get_bull_stocks():
for p in cur.fetchall():
price_map[p['code']] = {'price': float(p['price']), 'change_pct': float(p.get('change_pct') or 0)}
conn.close()
put_db(conn)
# ---- 批量计算综合评分 ----
scores_map = None