Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 强制气流以出口代码1终止_Python_Airflow_Directed Acyclic Graphs - Fatal编程技术网

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

Python 强制气流以出口代码1终止,python,airflow,directed-acyclic-graphs,Python,Airflow,Directed Acyclic Graphs,我在Airflow中运行的一些任务由于各种原因偶尔会失败。有些是我抓到的,有些是新的,也不例外。我希望获得退出代码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

我在Airflow中运行的一些任务由于各种原因偶尔会失败。有些是我抓到的,有些是新的,也不例外。我希望获得退出代码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退出

我已经尝试在我的try块中使用sys.exit(1)

        if count==0:
            self._logger.error("Missing data, nothing was loaded")
            sys.exit(1)
        else:
            self._logger.info("Data is present, safe to load to prod!")
我希望得到以下信息,以便收到故障通知

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

看起来您正在使用
bash操作符
调用Python脚本。这意味着您需要使用类似于
set-e
的方法来确保Bash在Python命令中点击非零代码并使用相同代码退出时停止执行,请参阅以获取更多详细信息。那么,正如您所期望的那样,这将使任务失败