强制气流以出口代码1终止

2024-06-16 14:33:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我在气流中运行的一些任务偶尔会因为各种原因而失败。有些是我抓到的,有些是新的,也不例外。我想得到退出代码1以便接收此类失败的通知。在

下面是一个我没有例外的错误示例,有没有办法让ValueError产生退出代码1?在

[2019-06-13 12:56:13,630] {bash_operator.py:127} INFO - ValueError: year 43631 is out of range
[2019-06-13 12:56:13,870] {bash_operator.py:127} INFO - 2019-06-13 12:56:13,869 - ODL - INFO - Closing db connection
[2019-06-13 12:56:13,870] {bash_operator.py:127} INFO - 2019-06-13 12:56:13,870 - ODL - INFO - End
[2019-06-13 12:56:13,990] {bash_operator.py:131} INFO - Command exited with return code 0
[2019-06-13 12:56:17,556] {logging_mixin.py:95} INFO - [2019-06-13 12:56:17,555] {jobs.py:2562} INFO - Task exited with return code 0

我还有try块使用sys.exit(1)的其他代码位。但是,它没有引发,我是否需要引发此错误才能以1退出?在

我试过用系统出口(1) 在我的试区。在

^{pr2}$

我希望得到以下信息以便得到故障通知。在

2019-06-13 12:56:17,556] {logging_mixin.py:95} INFO - [2019-06-13 12:56:17,555] {jobs.py:2562} INFO - Task exited with return code 1

Tags: 代码pyinfobashreturnlogging错误with
1条回答
网友
1楼 · 发布于 2024-06-16 14:33:44

看起来您正在使用BashOperator调用Python脚本。这意味着您需要使用类似set -e的方法来确保Bash在碰到Python命令上的非零代码时停止执行,并使用相同的代码退出自身,有关详细信息,请参见What does set -e mean in a bash script?。那么这应该会让你的任务失败。在

相关问题 更多 >