WORKER TIMEOUT
アプリケーションは、定義された時間内にリクエストに応答できないことを意味します。これは、gunicornタイムアウト設定を使用して設定できます。一部のアプリケーションは、他のアプリケーションよりも応答に時間がかかります。
これに影響する可能性のあるもう1つのことは、ワーカータイプの選択です
デフォルトの同期ワーカーは、アプリケーションがCPUとネットワーク帯域幅の点でリソースにバインドされていると想定しています。一般に、これは、アプリケーションが不定の時間を要することを何もすべきではないことを意味します。未定義の時間がかかるものの例は、インターネットへの要求です。ある時点で、外部ネットワークは、クライアントがサーバーに蓄積するような方法で失敗します。したがって、この意味で、APIへの発信リクエストを行うすべてのWebアプリケーションは、非同期ワーカーの恩恵を受けます。
あなたと同じ問題が発生したとき(Docker Swarmを使用してアプリケーションをデプロイしようとしていました)、タイムアウトを増やして別のタイプのワーカークラスを使用しようとしました。しかし、すべてが失敗しました。
そして、突然、リソースを制限しすぎて、作成ファイル内のサービスに対して制限していることに気付きました。これは私の場合、アプリケーションを遅くするものです
deploy:
replicas: 5
resources:
limits:
cpus: "0.1"
memory: 50M
restart_policy:
condition: on-failure
そもそも、アプリケーションを遅くしているものを最初に確認することをお勧めします
Gunicorn==19.3.1
およびgevent==1.0.1