气流:DAG 标记为成功,但任务未安排

Airflow: DAG marked successful, but task was not scheduled

我有一个稍微复杂的设置: 我 运行 我的 Airflow (v1.10.13) 管道在当地时间(在 VM 的时区上设置)。以下 DAG 在星期一 运行 被标记为成功,但其中的任务从未安排(因此没有任何日志)。我过去在使用 Airflow 调度程序和使用非 UTC 时区时遇到过一些问题,所以我想知道,这是否可能是另一个原因?

from airflow import DAG
from datetime import timedelta
from somewhere import get_localized_yesterday
import prepered_tasks as t

default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': get_localized_yesterday(),
    'email': [],
    'email_on_failure': True,
    'email_on_retry': False,
    'retry_delay': timedelta(minutes=1)
}

# Schedule the DAG daily at 2 a.m.
dag = DAG(
    'descriptive_DAG_name',
    default_args=default_args,
    description='',
    schedule_interval='0 2 * * Mon-Fri',
    tags=['PROD']
)
single_task = t.task_partial(dag=dag)
single_task

'task_partial'是partial中嵌入的task对象,所以我只需要提供dag进行实例化即可。这在其他工作正常的管道中按预期工作。

我检查了通常的嫌疑人:

airflow 1.10.13 中存在一个错误,该版本被取消了。

您应该升级到 1.10.14。

参见the issue and the fix

问题引述:

After performing an upgrade to v1.10.13 we noticed that tasks in some of our DAGs were not be scheduled. After a bit of investigation we discovered that by commenting out 'depends_on_past': True the issue went away.