根据official Airflow docs,
直接从task instances
上游的task
需要处于成功状态。此外,如果设置了dependents_on_past=true,则上一个任务实例需要成功(除非它是该任务的第一次运行)。
众所周知,任务是一种“实例化和参数化”算子。
这就是让我困惑的地方。例如:
DAG: {op_1} -> {op_2} -> {op_3}
{op2.2}是一个简单的Python运算符,它从{op1}取1个参数并进行填充;
据我所知,OPY2(PARAM1)和OPY2(PARAM2)被认为是2个不同的任务。
如果
depends_on_past
设置为true,则:如果OPY2(PARAME1)仍在运行,可以运行OPAR2(PARAME2)吗?
如果opy2(PARAME1)在上一次运行中失败,那么OPY2(PARAME1)可以在当前运行中运行吗?
最佳答案
从官方docs获取触发规则:depends_on_past
(布尔值)设置为true时,如果任务的上一个计划未成功,则不会触发任务。
因此,除非以前的dag运行失败,depends_on_past
不应成为一个因素,否则如果以前的运行成功执行了任务,则根本不会影响当前的运行。
关于python - Airflow depends_on_past说明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48658594/