gunicorn: 「WORKER TIMEOUT」を解決するには? 質問する

gunicorn: 「WORKER TIMEOUT」を解決するには? 質問する

私は、3 つのワーカー、30 のワーカー接続、eventlet ワーカー クラスを使用して gunicorn をセットアップしました。これは Nginx の背後にセットアップされています。数回のリクエストごとに、ログにこれが表示されます。

[ERROR] gunicorn.error: WORKER TIMEOUT (pid:23475)
None
[INFO] gunicorn.error: Booting worker with pid: 23514

なぜこのようなことが起こるのでしょうか? 何が問題なのかをどうすればわかるのでしょうか?

ベストアンサー1

Django+nginx+gunicorn を使用しても同じ問題が発生しました。Gunicorn のドキュメントに従って graceful-timeout を設定しましたが、ほとんど違いはありませんでした。

いくつかのテストを行った後、解決策を見つけました。設定するパラメータは、タイムアウト(正常なタイムアウトではありません)です。これは時計のように機能します。

だから、こうしてください:

1) gunicorn設定ファイルを開く

2) TIMEOUTを必要な値に設定します。値は秒単位です。

NUM_WORKERS=3
TIMEOUT=120

exec gunicorn ${DJANGO_WSGI_MODULE}:application \
--name $NAME \
--workers $NUM_WORKERS \
--timeout $TIMEOUT \
--log-level=debug \
--bind=127.0.0.1:9000 \
--pid=$PIDFILE

おすすめ記事