Source code for airflow.example_dags.subdags.subdag
## Licensed to the Apache Software Foundation (ASF) under one# or more contributor license agreements. See the NOTICE file# distributed with this work for additional information# regarding copyright ownership. The ASF licenses this file# to you under the Apache License, Version 2.0 (the# "License"); you may not use this file except in compliance# with the License. You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing,# software distributed under the License is distributed on an# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY# KIND, either express or implied. See the License for the# specific language governing permissions and limitations# under the License."""Helper function to generate a DAG and operators given some arguments."""from__future__importannotations# [START subdag]importpendulumfromairflow.models.dagimportDAGfromairflow.operators.emptyimportEmptyOperator
[docs]defsubdag(parent_dag_name,child_dag_name,args)->DAG:""" Generate a DAG to be used as a subdag. :param str parent_dag_name: Id of the parent DAG :param str child_dag_name: Id of the child DAG :param dict args: Default arguments to provide to the subdag :return: DAG to use as a subdag """dag_subdag=DAG(dag_id=f"{parent_dag_name}.{child_dag_name}",default_args=args,start_date=pendulum.datetime(2021,1,1,tz="UTC"),catchup=False,schedule="@daily",)foriinrange(5):EmptyOperator(task_id=f"{child_dag_name}-task-{i+1}",default_args=args,dag=dag_subdag,)returndag_subdag