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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM