Prhub

#24323 fix(http): apply SGLANG_TIMEOUT_KEEP_ALIVE in common.py

原始 PR 作者 revanthreddy-hai 合并时间 2026-05-08 07:01 文件变更 1 提交数 2 评论 0 代码增减 +1 / -1

执行摘要

修复 dummy health check server 硬编码 keep-alive 超时

PR #19847 使 SGLANG_TIMEOUT_KEEP_ALIVE 在 srt/entrypoints/http_server.py 中可配置,但 dummy health-check server 辅助函数仍使用硬编码的 5s keep-alive 超时,忽略了该环境变量。此 PR 旨在统一配置方式。

值得合并。此 PR 修复了配置不一致问题,且改动极小,无风险。

讨论亮点

无 review 评论。机器人 gemini-code-assist 仅表示无反馈。

实现拆解

  1. python/sglang/srt/utils/common.py_launch_uvicorn_dummy_server 函数中,将 uvicorn.Configtimeout_keep_alive 参数从硬编码值 5 替换为 envs.SGLANG_TIMEOUT_KEEP_ALIVE.get()
  2. 该环境变量已在 sglang/srt/environ.py 中定义,默认值为 5,因此向后兼容。
  3. 无其他文件修改,无测试变更。
文件 模块 状态 重要度
python/sglang/srt/utils/common.py HTTP modified 4.09

关键源码片段

python/sglang/srt/utils/common.py core-logic

唯一修改文件,将 dummy health check server 的 keep-alive 超时从硬编码改为环境变量控制。

# python/sglang/srt/utils/common.py 中 _launch_uvicorn_dummy_server 函数片段config = uvicorn.Config(
    app,
    host=host,
    port=port,
    # 之前是 timeout_keep_alive=5,现在使用环境变量,默认仍为 5
    timeout_keep_alive=envs.SGLANG_TIMEOUT_KEEP_ALIVE.get(),
    loop="auto",
    log_config=None,
    log_level="warning",
)

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

风险极低:仅修改一行常量,使用与主服务器相同的环境变量访问模式,默认值一致。回归风险几乎为零。

影响范围小:仅影响通过 _launch_uvicorn_dummy_server 启动的健康检查服务器。用户可通过设置 SGLANG_TIMEOUT_KEEP_ALIVE 环境变量统一控制所有 uvicorn 服务器的 keep-alive 超时。

关联 Issue

#19847 [misc] add env for http keep alive timeout

完整报告

参与讨论