INNER CODE UNIT · Python
_recycle_global_client
CassiopeiaCode/q2api · app.py:195
async def _recycle_global_client():
"""定期回收并重建全局HTTP客户端,避免死连接累积
策略:先创建新客户端,等待2分钟后再关闭旧客户端,确保平滑过渡
"""
# 跟踪待关闭的旧客户端,避免累积
pending_close_clients = []
while True:
try:
await asyncio.sleep(60) # 每1分钟回收一次
logger.info("[连接回收] 开始回收全局HTTP客户端...")
# 保存旧客户端引用
global GLOBAL_CLIENT
old_client = GLOBAL_CLIENT
# 创建新客户端