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