繁体   English   中英

Python中的uWSGI请求超时

[英]uWSGI request timeout in Python

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

我正在寻找的行为是延长对 REST 应用程序资源层的请求可能需要的时间。

您可能正在寻找harakiri参数 - 如果请求花费的时间超过指定的 harakiri 时间(以秒为单位),则该请求将被丢弃并回收相应的工作人员。

对于独立的 uwsgi(ini 配置):

[uwsgi]
http = 0.0.0.0:80
harakiri = 30
...

如果在 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-timeout对我有用。 我有http = :8080 ,所以我假设如果您使用文件系统套接字,则必须使用socket-timeout

它通过评论对我#master = true并把这个, lazy-apps = true

在 uwsgi.ini 文件中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM