Некоторые задачи, которые я запускаю в 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?
Я пытался использовать sys.exit (1) в моих блоках try.
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