Cron 作业 运行 在气流中的错误日期

Cron job running on wrong date in airflow

我的爸爸长这样:

args = {
    'owner': 'Me',
    'depends_on_past': False,
    'start_date': datetime(2021, 6, 16),
    'retries': 1,
    'retry_delay': timedelta(seconds=100),
    'provide_context': True
}

dag = DAG(
    dag_id='my_dag',
    default_args=args,
    catchup=False,
    schedule_interval='0 6 25 * *'
)

作为参考,今天是 2021 年 7 月 26 日。使用我定义的 schedule_interval,我希望它在每个月的 25 日早上 6 点到达 运行。但是,在昨天(25号)运行的时候,dag的执行日期设置为6月25日早上6点。

为什么?我预计执行日期是 7 月 25 日。我的 start_date 有问题吗?

在 Airflow 中,DAG 运行 在调度间隔的 结束 处。 execution_date 是执行期的日期,而 start_date 是 DAG/task 开始执行的日期。在您的情况下,execution_date 是 6/25,因为那是执行期的日期。 start_date 将是 7/25。

execution_date 是旧版 ETL 作业计划的遗留物,您可以在其中汇总一个周期结束时的数据。