0

我正在使用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

我知道我们可以使用retry_on_exception参数并忽略 KeyboardInterrupt 异常。

问题:

  1. @retry 实际上是否重试所有异常,包括 BaseExceptions?
  2. 默认情况下它不排除 KeyboardInterrupt 的任何原因?
  3. 是定义retry_on_exception忽略键盘中断的唯一方法吗?
4

0 回答 0