问题

我是Apache Airflow的新手,我计划使用BashOperator类运行Python和R脚本文件.我想了解Exceptions应该如何在两种情况下工作:
2001年12月31日终了的两年期收入和支出及准备金和基金结余变动报表 1. 由于某种原因,R或Python脚本失败;或
2001年12月31日终了的两年期收入和支出及准备金和基金结余变动报表 2. R或Python脚本完成,但我想在DAG进入下一个任务之前需要人的输入.

我有两个非常基本的问题:
2001年12月31日终了的两年期收入和支出及准备金和基金结余变动报表 1. Exception如何从R或Python脚本文件传递给BashOperator到DAG?例如,对R脚本文件的调用是否应该在BashOperator中的try块中?
2001年12月31日终了的两年期收入和支出及准备金和基金结余变动报表 2.如何传递自定义异常(警告?错误?)以便即使R或Python脚本成功完成,我可以暂停执行DAG?

我很感激您可以指出的任何Airflow异常处理的例子.

  最佳答案

忘记您正在使用任何 Airflow 操作符。

只是说你正在编写一个运行 R 或 Python 脚本的 Bash 脚本。

案例1:如果Python脚本失败,bash脚本失败:

 set -e
python test_file.py
 

案例2:即使Python脚本失败,传递的bash脚本:

 python test_file.py || exit 0
 

现在只是在BashOperator中传递上面的一个bash脚本.

基本上,BashOperator只运行正常的Bash命令/脚本并传递脚本的日志和退出状态.在案例1中,Airflow任务也会失败,在案例2中,Airflow任务将失败.

  相同标签的其他问题

exceptionairflow