说我正在跑步:
t = BashOperator(
task_id='import',
bash_command="""python3 script.py '{{ next_execution_date }}' """,
dag=dag)
由于某种原因,我希望脚本以错误退出,并指示气流他应重试此任务。
我尝试使用os._exit(1)
,但是Airflow将该任务标记为成功。
我知道有:
from airflow.exceptions import AirflowException
raise AirflowException("error msg")
但这更多的是用DAG编写的函数。我的脚本是独立的,有时不管气流如何,我们都单独运行它。
当Airflow在Python 2.7下运行时,脚本也是Python3
仅仅为了处理错误而在Python3
上安装Airflow似乎过多。
还有其他解决方法吗?
答案 0 :(得分:1)
在Bash命令的末尾添加|| exit 1
:
bash_command="""python3 script.py '{{ next_execution_date }}' || exit 1 """