Python中的uWSGI请求超时
在尝试为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 ...