【问题标题】:Run a job with pretty odd time planning Airflow以非常奇怪的时间计划运行工作
【发布时间】:2021-10-09 21:11:34
【问题描述】:

我有一个 Airflow DAG,需要在一天中的某些时间运行,而无法使用 cron 表达式进行建模。时间是:09:20、17:10 和 23:59。有什么建议吗?当 schedule_interval=None 并且手动触发时,DAG 已经完全构建并运行没有问题。一直在寻找没有成功的日子。

【问题讨论】:

  • 一个简单的解决方案是在你的 DAG 中放置一个BranchPythonOperator 上游并在那里评估条件,如果不满足,将你的结束任务设置为下一步。您可以检查execution_date 是否与您要查找的时间相匹配,还可以检查它是否是外部触发的。在执行上下文中使用DagRun 对象来访问这个值。

标签: cron airflow scheduler directed-acyclic-graphs


【解决方案1】:

目前,遗憾的是没有办法做到这一点。一种解决方法是制作 3 个 DAG,每次一个,并让每个 DAG 触发真正的工作流(使用 TriggerDagRunOperator),该工作流在第 4 个 DAG 中定义,schedule_interval 设置为 None

也就是说,AIP-39 目前正在进行大量工作,这正是您要寻找的。您可以跟踪进度here

【讨论】:

    猜你喜欢
    • 2013-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-13
    相关资源
    最近更新 更多