即使我没有提供气流的上游或下游,任务也会出现
Tasks show up even when i am not giving a upstream or downstream in airflow
我不确定这是否应该是这样的,但可以说我正在制作一个有 4 个任务的 dag,而我只在 Steam 中放置了 3 个任务,所以为什么第 4 个任务也出现了 运行??
EX:
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2018, 1, 1),
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
dag = DAG('example_dag_one',
schedule_interval='@daily',
catchup=False,
default_args=default_args)
t1 = BashOperator(
task_id='start',
bash_command='stuff',
dag=dag)
t2 = BashOperator(
task_id='test',
bash_command='stuff',
dag=dag)
t3 = BashOperator(
task_id='stop',
bash_command='more stuff',
dag=dag)
t4 = BashOperator(
task_id='test2',
bash_command='more stuff',
dag=dag)
t1>>t2>>t3
所以我希望只有 3 个任务出现在我的 dag 中,但由于某种原因所有 4 个都出现了。
为什么 t4 出现了?
运算符有一个 trigger_rule 来定义任务的触发方式。默认 all_success 规则规定当所有上游依赖任务都达到成功状态时应触发任务。
如果你不指定上游,那么当你触发 dag 时,任务就会被触发。
创建任务并提及 dag 后,它将成为该 dag 的一部分。设置up/down流只是为了建立任务之间的关系,触发哪个任务由上游任务和触发规则决定。
我不确定这是否应该是这样的,但可以说我正在制作一个有 4 个任务的 dag,而我只在 Steam 中放置了 3 个任务,所以为什么第 4 个任务也出现了 运行??
EX:
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2018, 1, 1),
'email_on_failure': False,
'email_on_retry': False,
'retries': 1,
'retry_delay': timedelta(minutes=5),
}
dag = DAG('example_dag_one',
schedule_interval='@daily',
catchup=False,
default_args=default_args)
t1 = BashOperator(
task_id='start',
bash_command='stuff',
dag=dag)
t2 = BashOperator(
task_id='test',
bash_command='stuff',
dag=dag)
t3 = BashOperator(
task_id='stop',
bash_command='more stuff',
dag=dag)
t4 = BashOperator(
task_id='test2',
bash_command='more stuff',
dag=dag)
t1>>t2>>t3
所以我希望只有 3 个任务出现在我的 dag 中,但由于某种原因所有 4 个都出现了。 为什么 t4 出现了?
运算符有一个 trigger_rule 来定义任务的触发方式。默认 all_success 规则规定当所有上游依赖任务都达到成功状态时应触发任务。 如果你不指定上游,那么当你触发 dag 时,任务就会被触发。
创建任务并提及 dag 后,它将成为该 dag 的一部分。设置up/down流只是为了建立任务之间的关系,触发哪个任务由上游任务和触发规则决定。