Skip to content

samarthj/pylib-helpers

Repository files navigation

pylib-helpers

Helpers for logging, sleeping, and other common functional work done across projects

Release GitHub release (latest SemVer including pre-releases) PyPI

Build

Total alerts Language grade: Python

Conventional Commits

RetryHandler

Samples can be found here in the tests

Example usage:

from somelib import ClientError
from helpers import Logger, RetryHandler, Sleeper

LOGGER = Logger()
SLEEPER = Sleeper()

def _client_error(err_obj):
    err_msg = str(err_obj)
    if "Recoverable" not in err_msg:
        raise err_obj
    else:
        LOGGER.print_error(err_msg)
        SLEEPER.normal_sleep()

@RetryHandler(
    (ClientError),
    max_retries=10,
    wait_time=0,
    err_callbacks={"ClientError": (_client_error, {})},
).wrap
def do_the_thing(data):
    pass