尝试在uWSGI中设置请求的超时时间,我不确定设置是否正确。似乎有多个超时选项(套接字,接口等),并且不容易明白哪个设置要配置或在何处设置它。
我正在寻找的行为是将请求的时间延长到REST应用程序的资源层。
答案 0 :(得分:50)
您正在寻找 harakiri 参数 - 如果请求的时间超过指定的harakiri时间(以秒为单位),请求将被删除并且相应的工作人员将被回收。
对于独立的uwsgi(ini config):
[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
...
答案 1 :(得分:15)
设置http-timeout
对我有用。我有http = :8080
,所以我假设你使用文件系统套接字,你必须使用socket-timeout
。
答案 2 :(得分:0)
它通过评论对我有用 #master = 真 并把这个, 懒惰的应用程序 = 真
在 uwsgi.ini 文件中