Skip to main content
`Ctrl`+`K`

# `retry`

This module provides utility methods for retrying methods until they no longer fail.

exception RetryTimeoutError

exception RetryError

retry(retry_timeout=None, retry_period=None, retry_on_error=<function _default_retry_on_error>)

  Decorator for a method that needs to be executed until it not longer fails or until retry_on_error returns False.

  The decorator arguments can be overriden by using them when calling the decorated method.

  Generator functions are required to have a start_index argument which allows the method to start iterating from the last failure when called on retry.

  Parameters:

    - retry_timeout (num)

    - retry_period (num) – sleep before retry

    - retry_on_error (callable or None) – checks whether an exception is eligible for retry

retry_contextmanager(retry_timeout=None, retry_period=None, retry_on_error=<function _default_retry_on_error>)

  Decorator to make a context manager from a method that needs to be entered until it no longer fails or until retry_on_error returns False.

  The decorator arguments can be overriden by using them when calling the decorated method.

  Parameters:

    - retry_timeout (num)

    - retry_period (num) – sleep before retry

    - retry_on_error (callable or None) – checks whether an exception is eligible for retry

retry_in_subprocess(retry_timeout=None, retry_period=None, retry_on_error=<function _default_retry_on_error>)

  Same as retry but it also retries segmentation faults.

  As subprocesses are spawned, you cannot use this decorator with the “@” syntax because the decorated method needs to be an attribute of a module:

      def _method(*args, **kw):
          ...

      method = retry_in_subprocess()(_method)

  Parameters:

    - retry_timeout (num)

    - retry_period (num) – sleep before retry

    - retry_on_error (callable or None) – checks whether an exception is eligible for retry