【BUG】Gunicorn [CRITICAL] WORKER TIMEOUT (pid:41518)
环境
python 3.10
Flask 2.3.3
gunicorn 22.0.0
gevent 24.2.1
问题详情
在使用Gunicorn 启动一个Flask服务后,访问接口响应错误,查看日志发现了该错误。错误完整输出如下:
[CRITICAL] WORKER TIMEOUT (pid:41518)
[INFO] Worker exiting (pid: 41518)
[ERROR] Worker (pid:41518) was sent SIGKILL! Perhaps out of memory?
错误原因:接口返回时间超时。默认情况下,Gunicorn 超时时间为30
秒。如果接口30
秒内没有返回结果,Gunicorn 会弹出超时错误,并且会杀死flask服务重启。
具体上,我的接口大约需要2分钟才将结果返回,因此我的超时时间应该设置为200秒比较合适。
解决方法
解决方法是在启动命令中加大超时参数--timeout
。
样例,设置超时时间为200秒
# 单位是秒
gunicorn -w 1 -b 127.0.0.1:5021 --timeout 200 my_app:app
参考
gunicorn 超时报错:[1] [CRITICAL] WORKER TIMEOUT 解决_gunicorn timeout-CSDN博客