Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cron 气流计划程序未拾取作业_Cron_Airflow_Airflow Scheduler - Fatal编程技术网

Cron 气流计划程序未拾取作业

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_

我用以下参数创建了一个新的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_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 * * * *"
    )