mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 09:20:22 +08:00
feat(proxy): worker 退出时优雅关闭 tunnel 连接,提升 max-requests 默认值
- TunnelManager 新增 shutdown_all 方法,drain 飞行中请求后发送 GoAway - shutdown 期间标记 draining 拒绝新请求进入 - gunicorn max-requests 默认值从 4000 提升到 50000,减少不必要的 worker 重启
This commit is contained in:
@@ -101,14 +101,19 @@ async def _on_startup() -> None:
|
||||
|
||||
|
||||
async def _on_shutdown() -> None:
|
||||
"""停止心跳检测调度器"""
|
||||
"""优雅关闭 tunnel 连接并停止心跳检测调度器"""
|
||||
import logging
|
||||
|
||||
from src.services.proxy_node.health_scheduler import get_proxy_node_health_scheduler
|
||||
from src.services.proxy_node.tunnel_manager import get_tunnel_manager
|
||||
from src.utils.task_coordinator import StartupTaskCoordinator
|
||||
|
||||
logger = logging.getLogger("aether.modules.proxy_nodes")
|
||||
|
||||
# 先向所有 tunnel 连接发送 GoAway,让 proxy 端立即重连到其他 worker
|
||||
manager = get_tunnel_manager()
|
||||
await manager.shutdown_all()
|
||||
|
||||
from src.clients import get_redis_client
|
||||
|
||||
redis_client = await get_redis_client()
|
||||
|
||||
Reference in New Issue
Block a user