尝试在 uWSGI 中设置请求超时,我不确定设置是否正确。似乎有多个超时选项(套接字、接口(interface)等),并且不清楚要配置哪个设置或在哪里设置它。
我正在寻找的行为是延长向 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
协议(protocol)进行通信。配置和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
...
关于python - Python中的uWSGI请求超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24127601/