web-dev-qa-db-ja.com

タスクの実行後にAirflowスケジューラーが実行されていないように見える

実行中のタスクがあると、Airflowはスケジューラが実行されていないように見え、タスクが完了するまで表示され続けるという通知を表示します。

The scheduler does not appear to be running. Last heartbeat was received 5 minutes ago.

The DAGs list may not update, and new tasks will not be scheduled.

実際、私がプロセスを確認したところ、スケジューラプロセスが実行されています。タスクが完了すると、通知が消え、すべてが正常に戻ります。

私の仕事はちょっと重いです、数時間かかるかもしれません。私はどんな助けも認めます。前もって感謝します。

12
DennisLi

シーケンシャルエグゼキューターに期待されています。シーケンシャルエグゼキュータは一度に1つの処理を実行するため、ハートビートとタスクを同時に実行することはできません。

Sequential Executor/Sqliteを使用する必要があるのはなぜですか?他のDB/Executorに切り替えるというアドバイスは、理にかなっています。

1
Jarek Potiuk

同じ問題がありました。 airflow.cfgファイル> sql_alchemy_conn =postgresql+psycopg2://airflow@localhost:5432/airflowおよびexecutor = LocalExecutorを更新してpostgresqlに切り替えます

このリンクは、これをローカルでセットアップする方法に役立ちます https://medium.com/@taufiq_ibrahim/Apache-airflow-installation-on-ubuntu-ddc087482c14

1
as - if

Sqliteを使用しているときにも同じ問題が発生しました。 Airflowログに特別なメッセージがありました:ERROR - Cannot use more than 1 thread when using sqlite. Setting max_threads to 1。 1つのスレッドのみを使用する場合、DAGの実行中はスケジューラを使用できません。

したがって、sqliteを使用する場合は、別のデータベースに切り替えてみてください。そうでない場合は、max_threadsairflow.cfg値を確認してください。

0
amoskaliov

airflow webserverを開始しましたが、airflow schedulerを開始していません。バックグラウンドで気流スケジューラを実行する

airflow scheduler > /console/scheduler_log.log &
0
Ganesh