我查看了Airflow subDAG部分,并尝试在网上找到其他任何有用的内容,但是我没有找到任何详细说明如何使subDAG工作的内容.subDAG运行的要求之一是它应该被启用.如何启用/禁用子标记?
我写了一些示例代码,它没有显示气流中的任何错误,但是当我尝试运行它时,subDAG中的所有操作符都没有执行.
这是我的主要dag代码:
import os
from airflow import DAG
from airflow.operators import BashOperator
from datetime import datetime, timedelta
from airflow.operators.subdag_operator import SubDagOperator
from linecount_subdag import sub_dag
parent_dag_name = 'example_linecount_dag'
child_dag_name = 'example_linecount_subdag'
args = {
'owner': 'airflow',
'start_date': datetime(2016, 04, 20),
'retries': 0,
}
main_dag = DAG(
dag_id=parent_dag_name,
default_args=args,
schedule_interval=timedelta(minutes=5),
start_date=datetime(2016, 04, 20),
max_active_runs=1
)
subdag = SubDagOperator(
subdag=sub_dag(parent_dag_name, child_dag_name, args, main_dag.schedule_interval),
task_id=child_dag_name,
default_args=args,
dag=main_dag)
t = BashOperator(
task_id='start',
bash_command='echo "waiting for subdag..."',
default_args=args,
dag=main_dag)
t.set_downstream(subdag)
Run Code Online (Sandbox Code Playgroud)
在此代码中,任务"start"成功,但是subdag任务不执行任何操作,既不会失败也不会成功.
这是我的subDAG代码:
from …Run Code Online (Sandbox Code Playgroud)