You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在Airflow的单个DAG内设置schedule_after_task_execution=False?

解决单个DAG的mini scheduler问题:单独设置schedule_after_task_execution=False

你把schedule_after_task_execution=False放到default_dag_args里是无效的,因为这个参数是DAG实例专属属性,不属于任务级别的默认参数范畴。

正确的做法是将该参数直接传递给DAG的初始化参数中,而非default_args字典。示例代码如下:

from airflow import DAG
from airflow.operators.dummy import DummyOperator
import datetime
from datetime import timedelta
from airflow.models import Variable

default_dag_args = {
    'start_date': datetime.datetime(2024,6,6),
    'email_on_failure': True,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=1),
    'project_id': Variable.get('gcp_project'),
}

with DAG(
    dag_id='your_target_dag_id',
    default_args=default_dag_args,
    schedule_interval='@daily',
    schedule_after_task_execution=False  # 此处才是该参数的正确位置
) as dag:
    sample_task = DummyOperator(task_id='sample_task')

这样设置后,该参数只会作用于当前定义的DAG,关闭其mini scheduler行为,不会影响其他DAG的运行逻辑。

内容的提问来源于stack exchange,提问作者Aleksander Lipka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 18:52:02