【问题标题】:Running Airflow DAG on Tuesday 00:00:00 every week每周二 00:00:00 运行 Airflow DAG
【发布时间】:2020-08-17 10:24:16
【问题描述】:

我正在尝试每周在 Airflow(确切地说是 GCP Cloud Composer)上运行 DAG。 但是因为我在 Cron 表达式中指定,所以 Dag 不会在星期二运行。

在所有示例中,我发现 schedule_interval 是一个间隔(每天、每周等)。我无法弄清楚我的设置可能出现什么错误。

default_dag_args = {
    'start_date': datetime.datetime.strptime('07/08/2020 00:00:00', '%d/%m/%Y %H:%M:%S'),
    'depends_on_past':False,
    'catchup' :...,
    'retry_delay': ...,
    'project_id': ...
}
with models.DAG(
        'every_Tues_00_00',
        schedule_interval= "0 0 * * 2",
        default_args=default_dag_args) as dag:
.
.
.

【问题讨论】:

  • 您的调度程序正在运行吗?其他 dags 是否在您编码时触发?还要在您的 DAG schedule_interval 中检查此参数。告诉我。
  • 除了@Ademi 要求的信息之外,您能否提供以下有关您的 DAG 当前行为的附加信息? - 从您上传代码的那一天起,您是否让 DAG 一直运行? - 如果是这样,一个多星期过去了,还没有重新执行?
  • 伙计们,对于迟到的回复,我感到非常抱歉,我作为承包商工作,几乎没有任何权限。我终于可以访问 Composer 监控仪表板,调度程序心跳中显示“指标不可用”。然而,每日计划的 Dags 会按预期运行,而每周的 Dags 则不会,有什么想法吗?

标签: airflow-scheduler google-cloud-composer


【解决方案1】:

要记住的是 Airflow 何时触发任务。

"例如,如果您在一天的 schedule_interval 上运行 DAG,则标记为 2020-01-01 的运行将在 2020-01-01T23:59 之后不久触发。换句话说,作业实例启动一次它涵盖的时期已经结束。上下文中可用的 execution_date 也将是 2020-01-01。 [1]

[1]https://airflow.apache.org/docs/stable/dag-run.html

【讨论】:

    猜你喜欢
    • 2020-04-20
    • 2021-03-15
    • 1970-01-01
    • 2011-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多