python - 如何将 airflow dag 配置为每天两次 运行

python - How to configure airflow dag to run twice daily

通过我最近的研究,我开始意识到气流的 schedule_interval 有一些怪癖,我已经尽力尝试解释它如何影响我正在做的事情,但是还没有完全解决。

我正在使用这些默认参数:

default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': datetime(2019, 1, 12),
    'email': ['email@domain.com'],
    'email_on_failure': True,
    'email_on_retry': False,
    'retries': 0,
    'retry_delay': timedelta(minutes=5),
    'schedule_interval': '0 0,12 * * *'
}

我希望 DAG 在午夜和中午 运行。

目前午夜只有 运行 秒,我不明白为什么。我 运行 在 Google Cloud Composer 中使用它,如果有任何不同的话。

*编辑 - 修正错别字

我会使用“每十二小时”的 cron 表达式,而不是“在 0 小时和 12 小时”。您可能已经读到,Airflow 的工作原理是创建间隔并在每个间隔结束时安排任务。通过将 cron 表达式描述的时间段添加到 Dag 的开始日期来创建间隔。

试试 'schedule_interval': '0 */12 * * *',它会和你的表达式一样工作,因为你的开始日期是午夜。