我有dag文件如下。在这里,我没有重试。但是,我想确保特定文件(bash1,bash2)应该重试1.而不是其他文件。
以下是默认参数。
default_args = {
'owner': 'airflow',
'depends_on_past': False,
'start_date': datetime(2017, 3, 24, 19, 00),
'email': ['myemail@email.com'],
'email_on_failure': True,
'email_on_retry': True,
'retries': 0,
'retry_delay': timedelta(minutes=5),
'backfill': False,
}
我将dag定义如下: dag = DAG(' x&#39 ;, default_args = default_args,schedule_interval =" 15 0,1,2,3,13,14,15,16,17,18,19,20,21, 22,23 * * *")
我的第一个运营商定义如下:
bash1 = BashOperator(
task_id= 'bash1',
bash_command="cd /home/ubuntu/run_scripts/Test/inst/scripts && /usr/bin/Rscript bash1.R ",
dag=dag
)
我的第二个操作员定义如下:
bash2 = BashOperator(
task_id= 'bash2',
bash_command="cd /home/ubuntu/run_scripts/Test/inst/scripts && /usr/bin/Rscript bash2.R ",
dag=dag
)
我的最终运营商定义如下:
Test_join = BashOperator(
task_id= 'Test_join',
bash_command="cd /home/ubuntu/run_scripts/Test/inst/scripts && /usr/bin/Rscript Test_join.R ",
dag=dag
)
Test_join取决于bash1和bash 2.
Test_join.set_upstream(bash1)
Test_join.set_upstream(bash2)
我需要做些什么才能确保bash1和bash2已退役2但不是Test_join。
答案 0 :(得分:0)
您可以使用参数' retries'在宣布任务时。