Python中的uWSGI请求超时

Python中的uWSGI请求超时,python,uwsgi,Python,Uwsgi,试图为uWSGI中的请求设置超时,我不确定设置是否正确。似乎有多个超时选项(套接字、接口等),不清楚要配置哪个设置或在哪里设置 我正在寻找的行为是延长向REST应用程序的资源层发出请求所需的时间。您可能正在寻找harakiri参数-如果请求所需时间超过指定的harakiri时间(以秒为单位),请求将被丢弃,相应的工作进程将被回收 对于独立uwsgi(ini配置): 如果在uwsgi之前有nginx代理,则还必须增加超时: location / { proxy_pass http://

试图为uWSGI中的请求设置超时,我不确定设置是否正确。似乎有多个超时选项(套接字、接口等),不清楚要配置哪个设置或在哪里设置


我正在寻找的行为是延长向REST应用程序的资源层发出请求所需的时间。

您可能正在寻找harakiri参数-如果请求所需时间超过指定的harakiri时间(以秒为单位),请求将被丢弃,相应的工作进程将被回收

对于独立uwsgi(ini配置):

如果在uwsgi之前有nginx代理,则还必须增加超时:

  location / {
    proxy_pass http://my_uwsgi_upstream;
    proxy_read_timeout 30s;
    proxy_send_timeout 30s;
  }

如果你想要(由于一些奇怪的原因)比60秒更高的超时时间,你可以考虑通过<>代码> UWSGI协议进行通信。配置与nginx站点非常相似:

location / {
    uwsgi_read_timeout 120s;
    uwsgi_send_timeout 120s;
    uwsgi_pass  my_upstream;
    include     uwsgi_params;
}
uwsgi:

[uwsgi]
socket = 0.0.0.0:80
protocol = uwsgi
harakiri = 120
...

设置
http超时
对我有效。我有
http=:8080
,所以我假设如果使用文件系统套接字,就必须使用
socket timeout

,它通过注释对我有效 #主=真 把这个,, 惰性应用=真


在uwsgi.ini文件中

我使用了uwsgi协议选项,它可以工作。谢谢。有些查询或操作可能需要60秒以上的时间。为什么会被认为很奇怪?因为大多数用户都不想等待超过60秒。不要试图解释为什么你没有选择,我知道。我得到了错误
namererror:name'uwsgi'没有定义
结果是我把它添加到了systemd config的一个文件中,而不是flaskI的.ini,它只能通过在uwsgi配置中使用
httptimeout
参数来延长超时。我不需要
--harakiri
。(我还需要在nginx配置中设置
proxy\u read\u timeout
proxy\u send\u timeout
,如上@Tombart所述)如果我同时使用这两个选项,会不会出现问题?在我的例子中,我直接运行
uwsgi
,它也是
--http timeout
参数。
[uwsgi]
socket = 0.0.0.0:80
protocol = uwsgi
harakiri = 120
...