RESTリソース(my_resource
)Pythonでは、uWSGIサーバーはログに次のエラーをスローします。
SIGPIPE: writing to a closed pipe/socket/fd (probably the client disconnected) on request my_resource (ip <my_ip>) !!!
uwsgi_response_write_body_do(): Broken pipe [core/writer.c line 164]
IOError: write error
タイムアウト(リクエストの処理が完了する前にクライアントが切断された)に関連しているようです。
これはどのようなタイムアウトであり、どのように修正できますか?
フロントエンドサーバーによって異なります。たとえば、nginxにはuwsgi_read_timeoutパラメーターがあります。 (通常は60秒に設定されます)。 --http-timeoutとしてのuWSGIhttpルーターのデフォルトは60秒などです。あなたがRESTAPIについて話しているので、応答を生成するのに60秒以上かかるのではないかと疑っていますが、フロントエンドWebサーバーによって接続を閉じるトリガーとなる間違った応答ヘッダーがないことを確認しますか?