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