UWSGIでリクエストのタイムアウトを設定しようとしましたが、正しい設定がわかりません。複数のタイムアウトオプション(ソケット、インターフェイスなど)があるようで、どの設定を構成するのか、どこで設定するのかがすぐにはわかりません。
私が探している動作は、RESTアプリケーションのリソース層へのリクエストにかかる時間を延長することです。
適切にharakiriパラメーターを探しています-要求が指定されたharakiri時間(秒単位)よりも長い場合、要求はドロップされ、対応するワーカーがリサイクルされます。
スタンドアロンuwsgi(ini config)の場合:
[uwsgi]
http = 0.0.0.0:80
harakiri = 30
...
Uwsgiの前にnginxプロキシがある場合は、タイムアウトも増やす必要があります。
location / {
proxy_pass http://my_uwsgi_upstream;
proxy_read_timeout 30s;
proxy_send_timeout 30s;
}
(何らかの奇妙な理由で)60秒よりも長いタイムアウトが必要な場合は、uwsgi
プロトコルを介した通信を検討できます。設定はnginxサイトと非常に似ています:
location / {
uwsgi_read_timeout 120s;
uwsgi_send_timeout 120s;
uwsgi_pass my_upstream;
include uwsgi_params;
}
uwsgi:
[uwsgi]
socket = 0.0.0.0:80
protocol = uwsgi
harakiri = 120
...
設定http-timeout
私のために働いた。私が持っています http = :8080
なので、ファイルシステムソケットを使用する場合は、socket-timeout
。