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

问题描述 投票:1回答:1

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

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

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

timeout pyramid gunicorn worker
1个回答
2
投票

来自docs:

timeout¶

-t INT, --timeout INT
30

沉默超过这么多秒钟的工人被杀死并重新开始。

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

--graceful-timeout INT
30

优雅工人重启的超时时间。

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

--keep-alive INT
2

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

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

© www.soinside.com 2019 - 2024. All rights reserved.