我正在尝试制定每周,每月的空气流量表,但是它不起作用。谁能报告可能发生的事情?如果我按周,按月进行计划,则它会保持静止,就像已关闭一样。没有错误消息,只是不执行。我发送了一个代码示例来演示如何进行调度...还有其他方法可以执行此调度吗?
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)
)
答案 0 :(得分:2)
有关于不执行以下操作的文档:
'start_date': airflow.utils.dates.days_ago(0),
,因为这样一来,从您的开始日期开始就不会再有1周的间隔了,这意味着第一个间隔不会关闭,并且第一次运行不会被安排。
建议:从上周的第4天(星期四?)中选择一个固定的日期作为您的start_date
。
气流will accept a datetime
or a string。将airflow.utils.timezone
的{{1}}用于非UTC时间表。例如,
datetime
或
default_args = {
'owner': 'your-unix-user-id-or-ldap-etc',
'start_date': '2018-1-1',
...
}