supervisor+uwsgi+django遇到writing to a closed pipe/socket/fd解决

原因:

最近开发的一个项目,由于有个更新job需要消耗的时间非常长,一度以为更新出现了错误。

 

经过:

于是打开debug模式测试, 异常开启,调试发现system返回了

writing to a closed pipe/socket/fd (probably the client disconnected) !!!

异常返回IO write()异常了

具体信息如下:

uwsgi_response_writev_headers_and_body_do(): Broken pipe [core/writer.c line 296]

可以看出uwsgi的pipe broken掉了,因为只是接口,uwsgi default 60秒

所以其实是超时了uwsgi认为这个pipe client已经断开,uwsgi还在run,当job超过了60秒,就把他干掉了。

 

解决:

修改uwsgin.ini,增加http-time设置即可

https://uwsgi-docs.readthedocs.io/en/latest/Options.html#http-timeout

 

posted @ 2018-12-03 15:54  sevck  阅读(4579)  评论(1编辑  收藏  举报