Python中的uWSGI请求超时
试图为uWSGI中的请求设置超时,我不确定设置是否正确。似乎有多个超时选项(套接字、接口等),不清楚要配置哪个设置或在哪里设置Python中的uWSGI请求超时,python,uwsgi,Python,Uwsgi,试图为uWSGI中的请求设置超时,我不确定设置是否正确。似乎有多个超时选项(套接字、接口等),不清楚要配置哪个设置或在哪里设置 我正在寻找的行为是延长向REST应用程序的资源层发出请求所需的时间。您可能正在寻找harakiri参数-如果请求所需时间超过指定的harakiri时间(以秒为单位),请求将被丢弃,相应的工作进程将被回收 对于独立uwsgi(ini配置): 如果在uwsgi之前有nginx代理,则还必须增加超时: location / { proxy_pass http://
我正在寻找的行为是延长向REST应用程序的资源层发出请求所需的时间。您可能正在寻找harakiri参数-如果请求所需时间超过指定的harakiri时间(以秒为单位),请求将被丢弃,相应的工作进程将被回收 对于独立uwsgi(ini配置): 如果在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超时
对我有效。我有http=:8080
,所以我假设如果使用文件系统套接字,就必须使用socket timeout
,它通过注释对我有效
#主=真
把这个,,
惰性应用=真
在uwsgi.ini文件中我使用了uwsgi协议选项,它可以工作。谢谢。有些查询或操作可能需要60秒以上的时间。为什么会被认为很奇怪?因为大多数用户都不想等待超过60秒。不要试图解释为什么你没有选择,我知道。我得到了错误
namererror:name'uwsgi'没有定义
结果是我把它添加到了systemd config的一个文件中,而不是flaskI的.ini,它只能通过在uwsgi配置中使用httptimeout
参数来延长超时。我不需要--harakiri
。(我还需要在nginx配置中设置proxy\u read\u timeout
和proxy\u send\u timeout
,如上@Tombart所述)如果我同时使用这两个选项,会不会出现问题?在我的例子中,我直接运行uwsgi
,它也是--http timeout
参数。
[uwsgi]
socket = 0.0.0.0:80
protocol = uwsgi
harakiri = 120
...