Skip to main content

retry decorator

Project description

retry is a decorator for isolating retrying logic, with logging intergraton.

API

retry(exceptions=Exception, tries=float('inf'), delay=0, backoff=1)

various retrying logic can be achieved by combination of arguments.

Examples

from retry import retry

# Retry until succeed
@retry()
def make_trouble():
    ...

# Retry on ZeroDivisionError, fail after 3 attmpts, sleep 2 seconds per
# attmpt
@retry(ZeroDivisionError, tries=3, delay=2)
def make_trouble():
    ...

# Retry on ValueError and TypeError, sleep 1, 2, 4, 8, etc.. seconds
@retry((ValueError, TypeError), delay=1, backoff=2)
def make_trouble():
    ...

# If you enable logging, you can get warnings like 'ValueError, retrying in
# 1 seconds'
if __name__ == '__main__':
    import logging
    logging.basicConfig()
    make_trouble()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

retry-0.4.1.tar.gz (1.7 kB view details)

Uploaded Source

File details

Details for the file retry-0.4.1.tar.gz.

File metadata

  • Download URL: retry-0.4.1.tar.gz
  • Upload date:
  • Size: 1.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for retry-0.4.1.tar.gz
Algorithm Hash digest
SHA256 b392181ed0cf4cd38a288c4c2c34d409694e0f182caba7017942677686179472
MD5 f4a63395ec7a48dae397ea62248bb668
BLAKE2b-256 4e4e0e464975af42c427957a83e8218e7d36b2848e45307a7d5b9e06b5247c29

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page