Gunicorn: Gunicorn v 19は、実行に時間がかかるFlaskhttpgetリクエストのタイムアウトを提供します

作成日 2019年04月27日  ·  4コメント  ·  ソース: benoitc/gunicorn

使用バージョン:19.7
サーバーを起動するDockerコマンド:
CMD ["gunicorn"、 "--workers = 2"、 "-b 0.0.0.0:8080"、 "--keep-alive = 900"、 "-threads = 3"、 "-max-requests = 5 "、"- graceful-timeout = 900 "、" --log-level = DEBUG "、"executorengine。wsgi:app "]

エラーの詳細:
クリティカルタイムアウトワーカースレッド



502不正なゲートウェイ


サーバーが無効または不完全な応答を返しました。

コソールログ

NFO:root :DONE::詳細を使用してステップ操作を実行します::

| INFO:root :Start::外部システムで呼び出されたRESTGETメソッド

新しい労働者が来る以下の完全な行動の前に:)

| [2019-04-27 10:11:00 +0000] [17] [INFO] pidを使用した起動ワーカー:17

最も参考になるコメント

同じ問題に直面している人がいる場合は、以下の構成を使用してください

****

  • [] CMD ["gunicorn"、 "--workers = 2"、 "-b 0.0.0.0:8080"、 "--timeout = 400"、 "-threads = 2"、 "-k = gevent"、 " --log-level = INFO "、"

****

executorengine。 wsgi:app "]

全てのコメント4件

私が正しく理解していれば、Gunicornへの着信HTTPリクエストがあると言っています。 そのリクエストを処理すると、外部システムに対してHTTPリクエストが作成され、そのリクエストにはワーカーがタイムアウトするのに十分な時間がかかります(ワーカーがタイムアウトする前に外部システムが応答しません)。

それが起こっているのであれば、私は2つのオプションを考えることができます:

1)ワーカーのタイムアウトを増やす
2)外部リクエストによってワーカーがタイムアウトしないように、geventなどの非同期ワーカーを使用します。

@ vaibhavpatil123 cf8ac37ce41e530cc154f2c7cbccd84ccad4c242がマージされたので、最終的にマスターも試すことができますか。

我々に教えてください

最後に、問題を修正することができ、リクエストは以下の構成でFlaskサーバーを通過します。

CMD ["gunicorn"、 "--workers = 2"、 "-b 0.0.0.0:8080"、 " --timeout = 400"、 "-threads = 2"、 "-k = gevent" 、 "- log-level = INFO "、"executorengine。wsgi :app "]

同じ問題に直面している人がいる場合は、以下の構成を使用してください

****

  • [] CMD ["gunicorn"、 "--workers = 2"、 "-b 0.0.0.0:8080"、 "--timeout = 400"、 "-threads = 2"、 "-k = gevent"、 " --log-level = INFO "、"

****

executorengine。 wsgi:app "]

このページは役に立ちましたか?
0 / 5 - 0 評価