uWSGI中的默认套接字时间值是多少



我们在这个问题上遇到了非常相似的问题:

nginx 502错误和504错误

问题是,对于一些更长的请求,比如20秒,我们得到的是502而不是504,然后它将502返回到浏览器,但Nginx超时设置为60秒,以等待uWSGI的响应。

我们查看了日志,可以看到这个错误:

SIGPIPE: writing to a closed pipe/socket/fd (probably the client disconnected

看起来插座已经关闭,所以根据上面的so链接,我偶然发现了这个设置http://uwsgi-docs.readthedocs.io/en/latest/Options.html#socket-超时,但我无法找到默认值来验证我的索赔。

有人能介绍一下这个吗?

所以问题来自uwsgi方面,我们将socket-timeout更改为60秒,但仍然得到502,结果是harakiri模式设置为30秒超时以杀死工人。将其更改为60秒,并使视图睡眠90秒,从nginx获得504,这是正确的。

以防其他人偶然发现:

socket-timeout的默认值似乎是4秒:

https://github.com/unbit/uwsgi/blob/master/core/init.c#L128

虽然对于我的情况来说,翻译成8-12秒,这可能是由于一些我不理解的技术细节。

最新更新