私はフレッシュインストールapache-airflow 1.8.2
を持ち、Webサーバーを起動し、すべてのWebページ要求に対して終了しました。新しいワーカーが起動するのを待っている間、約30秒間リクエストがハングアップしました。この問題を解決するのに役立つ必要があります。すべてのリクエストに対してgunicornワーカーが終了します
詳細
の下に、私はapache-airflow 1.8.2
をインストールし、this guideを追ってきました。私はポート8081
でWebサーバーを開始しました。
ブラウザを使用してサーバーにアクセスすると、応答が非常に遅くなります。コンソールの出力を見て、Webページを読み込むたびに「Worker existing」と表示されてから、長時間ポーズして「Booting worker」と言います。
ソースコードを掘り起こした後、私はこれらがガンコルンの労働者であることを知りました。私はガンコーンやエアフローやフラスコの経験がないので、これが期待される動作かどうかはわかりませんが、そうしてはいけないと感じています。少なくとも1つのWebサーバーは、すべてのWebページに対して30分間はハングしません。
コンソール出力:
---> Browser request
[2017-11-01 19:08:07 -0700] [14549] [INFO] Worker exiting (pid: 14549)
---> Hangs for 30s
[2017-11-01 19:08:37 -0700] [13316] [INFO] Handling signal: ttin
[2017-11-01 19:08:37 -0700] [14698] [INFO] Booting worker with pid: 14698
/Users/michael/Programs/clones/airflow/airflow/www/app.py:23: FlaskWTFDeprecationWarning: "flask_wtf.CsrfProtect" has been renamed to "CSRFProtect" and will be removed in 1.0.
csrf = CsrfProtect()
/Users/michael/Programs/miaozhen/tests/airflow-test/lib/python3.6/site-packages/flask/exthook.py:71: ExtDeprecationWarning: Importing flask.ext.cache is deprecated, use flask_cache instead.
.format(x=modname), ExtDeprecationWarning
127.0.0.1 - - [01/Nov/2017:19:08:37 -0700] "GET /admin/ HTTP/1.1" 200 95063 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
[2017-11-01 19:08:38,096] [14698] {models.py:168} INFO - Filling up the DagBag from /Users/michael/airflow/dags
---> other GET requests on the same webpage, skipped here for simplicity
[2017-11-01 19:08:39 -0700] [13316] [INFO] Handling signal: ttou
今私はapache-airflow 1.8.2
のソースバージョンを実行している(つまり、ソースをクローン化されたタグをチェックアウトし、そしてpip install -e .
とともにインストールされる)virtualenv
に。しかし、私も試みた:virtualenv
なしでピピバージョン(pip install apache-airflow
)を実行しています。 virtualenv
なしでソースバージョンを実行しています。また、すべてのインストールで同じ問題が発生するため、これらの違いは無関係です。
私のPythonのインストールは、次のとおりです。
$ python -VV
Python 3.6.3 (default, Oct 4 2017, 06:09:38)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.37)]
編集:私は別のマシン(Ubuntu Linuxの16.04 + Pythonの3.5)でapache-airflow
を実行している&をインストールしようとした、と問題はありません
。また、Python 3.6でMacにいる他の人に尋ねましたが、問題はありません。マシンに奇妙なことがあると思います...どうすればこの問題をデバッグできますか?
ありがとうございました!私は 'worker_refresh_batch_size = 0'を試しました。これは、労働者が退室して産卵することを不可能にしますが、依頼を受けてから約30秒遅れています。また私は私の質問を更新しました、それを見てください。 –