web-dev-qa-db-ja.com

Airflow DAG実行がトリガーされましたが、実行されませんでしたか?

(_airflow trigger_dag datablocks_dag_を介して)DAG実行を手動でトリガーし、Dag Runがインターフェイスに表示されますが、実際には何もせずに永久に「実行中」のままであるという状況に陥っています。

UIでこのDAG実行を検査すると、次のように表示されます。

enter image description here

_start_date_をdatetime(2016, 1, 1)に設定し、_schedule_interval_を_@once_に設定しました。 ドキュメントを読んで理解した私のは、_start_date_ <なので、DAGがトリガーされるということです。 _@once_は、それが1回だけ発生することを確認します。

私のログファイルには次のように書かれています。

_[2017-07-11 21:32:05,359] {jobs.py:343} DagFileProcessor0 INFO - Started process (PID=21217) to work on /home/alex/Desktop/datablocks/tests/.airflow/dags/datablocks_dag.py
[2017-07-11 21:32:05,359] {jobs.py:534} DagFileProcessor0 ERROR - Cannot use more than 1 thread when using sqlite. Setting max_threads to 1
[2017-07-11 21:32:05,365] {jobs.py:1525} DagFileProcessor0 INFO - Processing file /home/alex/Desktop/datablocks/tests/.airflow/dags/datablocks_dag.py for tasks to queue
[2017-07-11 21:32:05,365] {models.py:176} DagFileProcessor0 INFO - Filling up the DagBag from /home/alex/Desktop/datablocks/tests/.airflow/dags/datablocks_dag.py
[2017-07-11 21:32:05,703] {models.py:2048} DagFileProcessor0 WARNING - schedule_interval is used for <Task(BashOperator): foo>, though it has been deprecated as a task parameter, you need to specify it as a DAG parameter instead
[2017-07-11 21:32:05,703] {models.py:2048} DagFileProcessor0 WARNING - schedule_interval is used for <Task(BashOperator): foo2>, though it has been deprecated as a task parameter, you need to specify it as a DAG parameter instead
[2017-07-11 21:32:05,704] {jobs.py:1539} DagFileProcessor0 INFO - DAG(s) dict_keys(['example_branch_dop_operator_v3', 'latest_only', 'tutorial', 'example_http_operator', 'example_python_operator', 'example_bash_operator', 'example_branch_operator', 'example_trigger_target_dag', 'example_short_circuit_operator', 'example_passing_params_via_test_command', 'test_utils', 'example_subdag_operator', 'example_subdag_operator.section-1', 'example_subdag_operator.section-2', 'example_skip_dag', 'example_xcom', 'example_trigger_controller_dag', 'latest_only_with_trigger', 'datablocks_dag']) retrieved from /home/alex/Desktop/datablocks/tests/.airflow/dags/datablocks_dag.py
[2017-07-11 21:32:07,083] {models.py:3529} DagFileProcessor0 INFO - Creating ORM DAG for datablocks_dag
[2017-07-11 21:32:07,234] {models.py:331} DagFileProcessor0 INFO - Finding 'running' jobs without a recent heartbeat
[2017-07-11 21:32:07,234] {models.py:337} DagFileProcessor0 INFO - Failing jobs without heartbeat after 2017-07-11 21:27:07.234388
[2017-07-11 21:32:07,240] {jobs.py:351} DagFileProcessor0 INFO - Processing /home/alex/Desktop/datablocks/tests/.airflow/dags/datablocks_dag.py took 1.881 seconds
_

問題の原因は何ですか?

_start_date_の動作を誤解していますか?

または、ログファイルの気になるように見える_schedule_interval_ WARNING行が問題の原因である可能性がありますか?

13
Aleksey Bilogur

問題は、ダグが一時停止していることです。

提供したスクリーンショットの左上隅で、これをOnに反転すると、これでうまくいくはずです。

これは、気流から始めるときの一般的な「落とし穴」です。

14
jhnclvr

受け入れられた答えは正しいです。この問題はUIを介して処理できます。

これを処理するもう1つの方法は、構成を使用することです。

Defualtにより、すべてのダグは作成時に一時停止されます。デフォルト設定はairflow.cfgで確認できます

# Are DAGs paused by default at creation
dags_are_paused_at_creation = True

フラグをオンにすると、次のハートビートの後にダグが開始されます。

関連するgit 問題

1
caped114