何らかの理由で、Airflow は、毎週のスケジュール間隔で日付の最新の実行をトリガーしていないようです。
現在の日付:
$ date
$ Tue Aug 9 17:09:55 UTC 2016
DAG:
from datetime import datetime
from datetime import timedelta
from airflow import DAG
from airflow.operators.bash_operator import BashOperator
dag = DAG(
dag_id='superdag',
start_date=datetime(2016, 7, 18),
schedule_interval=timedelta(days=7),
default_args={
'owner': 'Jon Doe',
'depends_on_past': False
}
)
BashOperator(
task_id='print_date',
bash_command='date',
dag=dag
)
スケジューラーを実行
$ airflow scheduler -d superdag
スケジューラは 7/18、7/25、8/1、および 8/8 にバックフィルする必要があるため、合計 4 つの DAG 実行が予想されます。ただし、最後の実行はスケジュールされていません。
編集1:
私の問題を説明しているようには見えませんが、Vineet のことは理解しています。
上記の例では、DAG の開始日は 7 月 18 日です。
- 最初の DAG 実行: 7 月 18 日
- 2 回目の DAG 実行: 7 月 25 日
- 3 回目の DAG 実行: 8 月 1 日
- 4 回目の DAG 実行: 8 月 8 日 (実行されません)
各 DAG 実行が前週のデータを処理する場所。
今日は 8 月 9 日なので、4 回目の DAG 実行が 8 月 8 日の実行日で実行され、先週 (8 月 1 日から 8 月 8 日まで) のデータが処理されると思いますが、そうではありません。