Skip to content

spoqa/requests-backoff

Repository files navigation

spoqa-requests-backoff

MIT License PyPI

Backoff session for requests

Usage

resp = BackoffSession().get('https://...')

By default, BackoffSession tries before giving up until any following condition is met:

  • Tries 10 times
  • Reaches 20 seconds
  • Meets requests.RequestException
  • Meets HTTP client error (4xx)

Behaviors above can be customized with parameters.

BackoffSession(
    exception=(RequestException, ValueError),  # Give up when ValueError occurs, too.
    max_tries=100,  # Tries 100 times before giving up
    max_time=300,  # Wait until maximum 300 seconds before giving up
    giveup=lambda e: e.response.text == 'You're fired!'  # Give up when specific response is met
)

BackoffSession heavily depends on backoff package.

License

spoqa-requests-backoff is distributed under the terms of MIT License.

See LICENSE for more details.