覆盖金字塔/ gunicorn中的请求超时

时间:2015-02-12 11:01:38

标签: timeout pyramid gunicorn worker

金字塔(v1.5)应用程序由nginx背后的gunicorn(v19.1.1)提供给英雄的BeagleBone Black"服务器"。

一个特定的请求需要服务器上的大量I / O和处理器时间(从数据库导出数据,格式化为xls和服务) 这导致了枪支工作人员超时和一个“坏网关”。 nginx返回错误。

是否有实用的方法来处理此每个请求而不是增加所有请求的全局请求超时? 这只是一个特定的请求,所以我正在寻找最快,最脏的解决方案,而不是实现正确的异步客户端通知协议。

1 个答案:

答案 0 :(得分:2)

来自docs:

timeout¶

-t INT, --timeout INT
30

工作人员沉默超过这么多秒就会被杀死并重新启动。

一般设定为30秒。如果您确定同步工作人员的影响,请将其设置得明显更高。对于非同步工作者,它只意味着工作进程仍在进行通信,并且与处理单个请求所需的时间长度无关。 graceful_timeout

--graceful-timeout INT
30

优雅员工重启超时。

一般设定为30秒。最大时间工作者在获得重启信号后如何处理请求。如果时间到了,工人将被强行杀死。 存活

--keep-alive INT
2

在Keep-Alive连接上等待请求的秒数。

一般设定在1-5秒范围内。