Cron 气流计划程序未拾取作业
我用以下参数创建了一个新的Dag:Cron 气流计划程序未拾取作业,cron,airflow,airflow-scheduler,Cron,Airflow,Airflow Scheduler,我用以下参数创建了一个新的Dag: default_args = { 'owner': 'airflow', 'depends_on_past': False, 'start_date': datetime.now(), 'email': ['airflow@example.com'], 'email_on_failure': False, 'email_on_retry': False, 'retries': 1, 'retry_
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime.now(),
'email': ['airflow@example.com'],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5),
'catchup': False,
# 'queue': 'bash_queue',
# 'pool': 'backfill',
# 'priority_weight': 10,
# 'end_date': datetime(2016, 1, 1),
# 'wait_for_downstream': False,
# 'dag': dag,
# 'adhoc':False,
# 'sla': timedelta(hours=2),
# 'execution_timeout': timedelta(seconds=300),
# 'on_failure_callback': some_function,
# 'on_success_callback': some_other_function,
# 'on_retry_callback': another_function,
# 'trigger_rule': u'all_success'
}
dag = DAG(
'sample_dag',
default_args=default_args,
description='sample dag',
schedule_interval="44 * * * *")
但是,当时间到来时,调度程序不会拾取dag。当我手动触发它时,它运行良好。这里有我遗漏的东西吗
此外,当cron表达式为“*/5****”
但是cron表达式在我看来很好。原因是
[dag运行时间]
=开始日期
+计划间隔
。因此,如果将start\u date
设置为动态的,那么dag将永远不会执行,因为start\u date
随着。。。好。。。时间
它被解释了,堆栈上还有一个问题也有答案,他们可能比我解释得更好
您应该将start\u date
更改为静态,而不是datetime.now()
如果不希望在dag中进行回填,则需要将catchup=False
设置为dag参数。因此,类似于以下内容:
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2018, 1, 1),
'email': ['airflow@example.com'],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5)
}
dag = DAG(
'sample_dag',
catchup=False,
default_args=default_args,
description='sample dag',
schedule_interval="44 * * * *"
)
气流列表的结果是什么\u dag
样本\u dag
是输出的一部分。让我们说dag需要每5分钟运行一次,不需要回填它。。。那么,我应该将开始日期指定为什么呢?只需将其设置为过去的任意时间,并确保您的dag中有catchup=false
作为参数(而不是像您所做的那样设置为默认参数)。此处示例->
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2018, 1, 1),
'email': ['airflow@example.com'],
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5)
}
dag = DAG(
'sample_dag',
catchup=False,
default_args=default_args,
description='sample dag',
schedule_interval="44 * * * *"
)