Какова область исключения 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.

Вопросов:

  1. Действительно ли @retry повторяет попытки для всех исключений, включая BaseExceptions?
  2. По какой причине он не исключает KeyboardInterrupt по умолчанию?
  3. Определяет retry_on_exception единственный способ игнорировать KeyboardInterrupt?

0 ответов

Другие вопросы по тегам