【问题标题】:Airflow DAG not triggered气流 DAG 未触发
【发布时间】:2021-06-20 17:36:52
【问题描述】:

我无法按计划运行 DAG,只能手动触发它。 我已将 start_date 设置为 days_ago(1) 以及特定日期 - datetime(2021, 06, 19)。 schedule_interval 设置为特定时间'55 11 * * 0',但当时间到来时,DAG 仍未被触发。 我试图完全删除 python 文件并重新创建一个具有不同名称的新文件 - 仍然没有触发器。

请帮忙,任何线索将不胜感激。

谢谢 伊然

【问题讨论】:

  • 请发布您的 dag 代码以及您正在使用的气流版本
  • default_args = { 'owner': 'eranh', 'retries': 3, 'retry_delay': timedelta(minutes=5), 'email_on_failure': True, 'email_on_retry': True } with DAG ('disabled_accounts', default_args=default_args, start_date=datetime(2021, 6, 19), schedule_interval='55 11 * * 0', catchup=True ) as dag:

标签: python airflow


【解决方案1】:

Airflow 不会像 cron 作业那样安排 DAG。 Airflow 计算start_date+schedule_interval 并在间隔的结束 处执行任务。所以当你设置

start_date = datetime(2021, 06, 19)
schedule_interval='55 11 * * 0'

第一次运行不会像您预期的那样从2021-06-20(星期日)开始。

如果您希望您的 DAG 在每周日执行并且第一次运行在 2021-06-20 您应该设置:

start_date = datetime(2021, 06, 13)
schedule_interval='55 11 * * 0'

【讨论】:

  • 您好埃拉德,感谢您的回答。我已按照建议将开始日期更改为上周,但还是一样,DAG 没有被触发。
  • 那你还有其他问题。使用您的 dag 代码和调度程序日志编辑答案。
  • 我不知道我做了什么不同,但我已将开始间隔设置为 11:10,它现在在 14:10 运行(我不关心它的 UTC 差异不是问题)。我已经写了这个 DAG 快 3 周了,这是它第一次触发。感谢 Elad 的帮助!
  • 默认值(如果未更改为 UTC)。如果这是你想要的,你可以编写时区感知 dag。
  • 我有每个星期天早上间隔的 DAG,开始时间是 days_ago(1) 但 DAG 不会触发数周。我今天唯一做的就是完全删除该文件并创建一个具有不同 DAG 名称的新文件,也许它帮助我不知道。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 2022-10-14
  • 1970-01-01
  • 2022-11-02
  • 1970-01-01
相关资源
最近更新 更多