fix: 修复连接池泄漏(conn.close改为put_db) + put_db处理已关闭连接 + 添加日线同步cron
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user