试图在uWSGI中设置请求的超时,我不确定设置是否正确.似乎有多个超时选项(套接字,接口等),并且不容易明白要配置哪个设置或在哪里设置它.
我正在寻找的行为是将请求的时间延长到REST应用程序的资源层.
Tom*_*art 58
您正在寻找harakiri参数 - 如果请求的时间超过指定的harakiri时间(以秒为单位),请求将被删除并且相应的工作程序将被回收.
对于独立的uwsgi(ini配置):
[uwsgi]
http = 0.0.0.0:80
harakiri = 30
...
Run Code Online (Sandbox Code Playgroud)
如果你在uwsgi之前有nginx代理,你还需要增加超时:
location / {
proxy_pass http://my_uwsgi_upstream;
proxy_read_timeout 30s;
proxy_send_timeout 30s;
}
Run Code Online (Sandbox Code Playgroud)
如果您希望(出于某些奇怪的原因)超过60秒的超时,您可能会考虑通过uwsgi
协议进行通信.配置与nginx网站非常相似:
location / {
uwsgi_read_timeout 120s;
uwsgi_send_timeout 120s;
uwsgi_pass my_upstream;
include uwsgi_params;
}
Run Code Online (Sandbox Code Playgroud)
uwsgi:
[uwsgi]
socket = 0.0.0.0:80
protocol = uwsgi
harakiri = 120
...
Run Code Online (Sandbox Code Playgroud)