INNER CODE UNIT · Python
get_global_client
CassiopeiaCode/q2api · app.py:185
def get_global_client() -> Optional[httpx.AsyncClient]:
"""获取当前的全局客户端实例(动态获取,确保总是最新的)"""
return GLOBAL_CLIENT
async def _close_global_client():
global GLOBAL_CLIENT
if GLOBAL_CLIENT:
await GLOBAL_CLIENT.aclose()
GLOBAL_CLIENT = None
async def _recycle_global_client():
"""定期回收并重建全局HTTP客户端,避免死连接累积
策略:先创建新客户端,等待2分钟后再关闭旧客户端,确保平滑过渡
"""
# 跟踪待关闭的旧客户端,避免累积
pending_close_clients = []