我已经设置了gunicorn与3个工人,30个工人连接和使用eventlet工人类。它被设置在Nginx后面。每请求几次,我就会在日志里看到这个。
[ERROR] gunicorn.error: WORKER TIMEOUT (pid:23475)
None
[INFO] gunicorn.error: Booting worker with pid: 23514
为什么会这样?我怎样才能知道哪里出了问题呢?
我已经设置了gunicorn与3个工人,30个工人连接和使用eventlet工人类。它被设置在Nginx后面。每请求几次,我就会在日志里看到这个。
[ERROR] gunicorn.error: WORKER TIMEOUT (pid:23475)
None
[INFO] gunicorn.error: Booting worker with pid: 23514
为什么会这样?我怎样才能知道哪里出了问题呢?
当前回答
我有非常相似的问题,我也尝试使用“运行服务器”,看看我是否能找到任何东西,但我所拥有的只是一个消息杀死
所以我认为这可能是资源问题,我继续给实例更多的RAM,它工作了。
其他回答
在谷歌云 只需在app.yaml的入口点添加——timeout 90
entrypoint: gunicorn -b :$PORT main:app --timeout 90
这个端点是否花费了太多时间?
也许你使用的flask没有异步支持,所以每个请求都会阻塞调用。要创建异步支持而不让make变得困难,可以添加gevent worker。
使用gevent,一个新的调用将产生一个新的线程,你的应用程序将能够接收更多的请求
pip install gevent
gunicon .... --worker-class gevent
使用——log-level debug运行Gunicorn。
它应该会给你一个应用程序堆栈跟踪。
会是这样吗? http://docs.gunicorn.org/en/latest/settings.html#timeout
其他的可能是你的回复时间太长或者被困在等待中。
如果你已经更改了django项目的名称,你也应该去
cd /etc/systemd/system/
then
sudo nano gunicorn.service
然后验证在绑定行的末尾,应用程序名称已更改为新的应用程序名称