実行中のタスクがあると、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.
実際、私がプロセスを確認したところ、スケジューラプロセスが実行されています。タスクが完了すると、通知が消え、すべてが正常に戻ります。
私の仕事はちょっと重いです、数時間かかるかもしれません。私はどんな助けも認めます。前もって感謝します。
シーケンシャルエグゼキューターに期待されています。シーケンシャルエグゼキュータは一度に1つの処理を実行するため、ハートビートとタスクを同時に実行することはできません。
Sequential Executor/Sqliteを使用する必要があるのはなぜですか?他のDB/Executorに切り替えるというアドバイスは、理にかなっています。
同じ問題がありました。 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
Sqliteを使用しているときにも同じ問題が発生しました。 Airflowログに特別なメッセージがありました:ERROR - Cannot use more than 1 thread when using sqlite. Setting max_threads to 1
。 1つのスレッドのみを使用する場合、DAGの実行中はスケジューラを使用できません。
したがって、sqliteを使用する場合は、別のデータベースに切り替えてみてください。そうでない場合は、max_threads
のairflow.cfg
値を確認してください。
airflow webserver
を開始しましたが、airflow scheduler
を開始していません。バックグラウンドで気流スケジューラを実行する
airflow scheduler > /console/scheduler_log.log &