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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了覆盖金字塔/ gunicorn中的请求超时相关的知识,希望对你有一定的参考价值。

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

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

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

答案

来自docs:

timeout¶

-t INT, --timeout INT
30

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

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

--graceful-timeout INT
30

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

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

--keep-alive INT
2

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

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

以上是关于覆盖金字塔/ gunicorn中的请求超时的主要内容,如果未能解决你的问题,请参考以下文章

Gunicorn Elastic Beanstalk 更改超时

增加 ExtJs 中的 Ajax 请求超时

NGINX 502 坏网关 gunicorn 超时

对 mssql 存储过程的金字塔中间件调用 - 无响应

Ajax:设置超时是不是总是覆盖浏览器的超时?

覆盖片段中的后退按钮