'Airflow Subdag tasks are stuck in None state while subdag is showing as Running

I have a problem with my dag getting stuck at subdag. The subdag is in RUNNING state but on zooming in all the tasks of the subdag are in None status. Using Airflow 2.1.1 with LocalExecutor.

Below is the main dag:

default_args = {
    'owner' : 'airflow',
    'retries' : 1,
    'depends_on_past' : False
}

dag = DAG('loop_example',
    start_date = datetime(2022,1,1),
    schedule_interval = None,
    catchup = False,
    tags=['loop']
    )

## function to filter src_name based on a DB table/log file entry
def check_valid_src(src_name):
    hook = MySqlHook(mysql_conn_id='mysql_conn')
    sql='SELECT src_name FROM ingsted_src_log_table'
    myresult=hook.get_records(sql)

    valid_src_names = []

    for src in myresult:
        valid_src_names.append(src[0])

    if src_name in valid_src_names:
        return True
    else:
        return False


first = DummyOperator(task_id = 'first',dag=dag)
last = DummyOperator(task_id = 'last',dag=dag)

options = ['branch_a','branch_b','branch_c','branch_d']

for option in options:
    if check_valid_src(option):
        t = SubDagOperator(task_id = f'section_{option}',
                subdag=subdag('loop_example',f'section_{option}',default_args,option),
                dag=dag
            )
        first >> t >> last

subdag code:

def subdag(parent_dag_name, child_dag_name, args,option):

    dag_subdag = DAG(
        dag_id=f'{parent_dag_name}.{child_dag_name}',
        default_args=args,
        start_date = datetime(2022,1,1),
        schedule_interval=None,
    )

    t1= BashOperator(
        task_id=f'Echo_source_name',
        bash_command = f'echo {option}',
        default_args=args,
        dag=dag_subdag
    )

    t2= BashOperator(
        task_id=f'Echo_source_number',
        bash_command = f'echo "{option}" | cut -d "_" f2',
        default_args=args,
        dag=dag_subdag,
    )

    t1 >> t2

    return dag_subdag

Earlier the start_date of the main_dag and subdag was not same so I tried running again making the start_date as same but still it gets stuck. Is there anything that I am missing here

Main_DAG Image

SubDag Image



Solution 1:[1]

You have to pass is_paused_upon_creation=False in subdag.

dag_subdag = DAG(
    dag_id=f'{parent_dag_name}.{child_dag_name}',
    default_args=args,
    start_date = datetime(2022,1,1),
    schedule_interval=None,is_paused_upon_creation=False

)

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Pankaj Suthar