Airflow 无法识别 DAG 调度

Airflow doesn't recognize DAG scheduling

我正在尝试制定每周、每月的气流计划,但它不起作用。任何人都可以报告可能发生的事情吗?如果我每周、每月安排一次,它会保持静止,就好像它被关闭了一样。没有错误信息,只是不执行。我发送了一个代码示例来演示我是如何安排的……还有其他方法可以进行此安排吗?

import airflow
import os
import six
import time
from datetime import datetime, timedelta
from airflow import DAG
from airflow import AirflowException
from airflow.models import BaseOperator
from airflow.utils.decorators import apply_defaults
from airflow.operators.slack_operator import SlackAPIPostOperator

default_args = {
    'owner': 'bexs-data',
    'start_date': airflow.utils.dates.days_ago(0),
    'depends_on_past': False,
    'email': ['airflow@apache.org'],
    'email_on_failure': False,
    'email_on_retry': False,
    'depends_on_past': False,
    # If a task fails, retry it once after waiting
    # at least 5 minutes
    'retries': 1,
    'retry_delay': timedelta(minutes=5),
    'on_failure_callback': slack_msg
}

dag = DAG(
    dag_id=nm_dag,
    default_args=default_args,
    schedule_interval='51 18 * * 4', 
    dagrun_timeout=timedelta(minutes=60)
)

有关于不执行以下操作的文档: 'start_date': airflow.utils.dates.days_ago(0), 因为这样一来,从您的开始日期起就不会再有 1 周的间隔,这意味着第一个间隔不会结束,并且第一个 运行 不会被安排。

建议:在上周的第 4 天(星期四?)选择固定的一天作为您的 start_date

气流will accept a datetime or a string。将 airflow.utils.timezonedatetime 用于非 UTC 计划。例如,要么:

default_args = {
  'owner': 'your-unix-user-id-or-ldap-etc',
  'start_date': '2018-1-1',
...
}

from airflow.utils.timezone import datetime

default_args = {
  'owner': 'your-unix-user-id-or-ldap-etc',
  'start_date': datetime(2018, 1, 1),
...
}