毎日3:00に実行されているDAGがありますが、過去数週間は正常に実行されました。
実行する日付を7:00に更新しましたが、過去2日間は実行されなかったようです。ステータスが「実行中」(緑色)の2日間のタスクを確認できますが、コマンドはトリガーされません。
DAGの実行時間を変更するには、さらに何かをする必要がありますか?
これを解決する過去の1つの方法は、メタデータベースでこのDAGのタスクをクリーンアップし、start_dateを更新することでしたが、これを再度実行することは避けたいと思います。
誰か提案がありますか?
ダグをスケジュールするために、Airflowは最後のexecution date
を探し、schedule interval
を合計します。この時間が経過すると、dagが実行されます。開始日を単純に更新することはできません。これを行う簡単な方法は、start date
とschedule interval
を編集し、dagの名前を変更して(例:xxxx_v2.py)、再デプロイすることです。
DAGの名前を変更する別の解決策は、データベース内のDAGの以前のすべてのタスクインスタンスとDAG実行のexecution_date
を編集することです。変更するテーブルは、それぞれtask_instance
とdag_run
です。
このアプローチの欠点の1つは、完了したタスクのログをWebサーバーから参照できなくなることです。
デビッド、
1。 Experimental REST APIを介してdagを削除することもできます。 DAGの削除
2。目的のstart_date
を変更します。
3。そして、同じDAGを追加し直します。