web-dev-qa-db-ja.com

毎日特定の時間に実行するようにAirflowdagを構成するにはどうすればよいですか?

Cronのように、何が起こっても毎日指定された時間に実行するようにAirflowdagを構成する方法。

TimeSensorを使用しても同様の動作が得られることはわかっていますが、この場合はセンサータスクに依存し、dag実行時間と競合する可能性があります。

例:センサーアプローチを使用して、0時間15分に実行するセンサーがあるが、後でdagが実行されると、タスクが遅延するため、センサーアプローチの場合でも、Dagが適切な時間に実行されることを確認する必要があります。

では、Dagが指定された時間に実行されることを確認するにはどうすればよいですか?

8
samarth

たとえば、毎日午前2時30分にDAGを開始するには、次の操作を実行できます。

DAG(
   dag_id='dag_id',
   # start date:28-03-2017
   start_date= datetime(year=2017, month=3, day=28),
   # run this dag at 2 hours 30 min interval from 00:00 28-03-2017
   schedule_interval='30 2 * * *')

スケジュールを構成する前に、cron間隔の解釈をここで検証およびテストできます: https://crontab.guru/

7
javed

DAGをインスタンス化するときに、schedule_intervalを文字列cron式に設定できます。

schedule_interval='0 * * * *'

BaseOperatorドキュメント

0
obi