[英]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.