Какова область исключения python @retry?
Я использую https://pypi.org/project/retrying/#description и заметил, что @retry на самом деле не останавливает мой процесс при нажатии
Ctrl+C
хоть и останавливается на терминале. Если я сделаю
ps -ef
, Я все еще могу обнаружить, что процесс запущен.
@retry(stop_max_attempt_number=3)
def stop_after_3_attempts():
# .... some code
sleep(60)
print "process is killed on KeyboardInterrupt due to @retry"
# KeyboardInterrupt is not meant to be handled in my app and except process to get killed
Я понимаю, что мы можем использовать параметр и игнорировать исключение KeyboardInterrupt.
Вопросов:
- Действительно ли @retry повторяет попытки для всех исключений, включая BaseExceptions?
- По какой причине он не исключает KeyboardInterrupt по умолчанию?
- Определяет
retry_on_exception
единственный способ игнорировать KeyboardInterrupt?