【发布时间】:2018-07-03 19:40:05
【问题描述】:
我使用 Airflow 1.8.0 我有一个像这样的 DAG:
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'email': ['technical@me.com'],
'start_date': datetime.datetime(2018, 5, 21),
'email_on_retry': False,
'retries': 0
}
dag = DAG('my_dag',
schedule_interval='40 20 * * *',
catchup=True,
default_args=default_args)
dag 每天都被正确安排,但迟到了一天。
鉴于今天的日期是
2018-07-02
网页界面展示:
而不是 2018-07-01
但是如果我手动触发 当前日期已正确传递:
有没有办法强制调度程序以当前日期运行?
【问题讨论】:
-
Airflow 语言中的两个日期都是正确的。手动触发器采用当前时间。计划在时间框结束时运行:“计划程序在开始日期后一个 schedule_interval 的时间段结束时运行您的作业。”。在 Airflow 文档中查看更多信息:airflow.apache.org/scheduler.html
-
好的,谢谢,所以我不能在时间盒结束之前强制 Airflow 运行?
-
恐怕这是不可能的。不过,您可以使用另一个日期,例如明天,请参阅 Airflow 宏:airflow.apache.org/code.html#macros