You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Gunicorn中为Uvicorn Worker传递loop参数

强制Gunicorn+UvicornWorker使用asyncio事件循环的方法

当使用Gunicorn搭配UvicornWorker时,要强制指定asyncio事件循环,有两种可靠方法:

方法一:通过--worker-args传递参数

直接在Gunicorn启动命令中,用--worker-args给UvicornWorker传递--loop asyncio参数,完整命令如下:

gunicorn myapp.server.api:app -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:7474 --worker-args="--loop asyncio"

这个参数会把指定的loop配置传递给每个Uvicorn worker进程,覆盖默认的auto模式。

方法二:自定义UvicornWorker类

如果需要长期固化配置,避免每次启动都输入参数,可以自定义一个worker类:

  1. 创建一个文件(比如custom_workers.py),写入以下代码:
from uvicorn.workers import UvicornWorker

class CustomUvicornWorker(UvicornWorker):
    CONFIG_KWARGS = {"loop": "asyncio"}
  1. 启动Gunicorn时指定这个自定义worker:
gunicorn myapp.server.api:app -k custom_workers.CustomUvicornWorker --bind 0.0.0.0:7474

这样每个worker都会自动使用asyncio循环,无需额外传参。

内容的提问来源于stack exchange,提问作者Pranjal Doshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 08:01:23