Fork of a popular backoff library with a few fixed bugs
Project description
improved_backoff
Function decoration for backoff and retry
This is a fork of an excellent Python library backoff. The library was forked on January 26, 2023. It includes the original version 2.2.1 (October 5, 2022) and a few extra updates.
This fork includes 2 PRs proposed in the original repo:
- Correct check for max_time parameter
- Fix some issues around max_time in _next_wait
- Using "timeit" module for time management
The updated behavior of max_time
is that a a function will be retried only if the elapsed time is less,
than max_time
. Also the remaining time should exceed the interval
(delay between retries).
The code that calculates delay time was modified to not generate negative values.
If at the time of calculation elapsed time exceeds specified max_time
value than delay is set to zero.
If calculated delay time is negative, then it's also set to zero.
In order to use this module import it under backoff
alias and use it
the same way as the original module
import improved_backoff as backoff
@backoff.on_exception(backoff.expo, requests.exceptions.RequestException)
def get_url(url):
return requests.get(url)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for improved_backoff-1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62f7203b5f4214236bdc14aa9eb53c5fee9a97519655c8021726989d9575574f |
|
MD5 | 26fa4a39f41058dcac35e3af1fab5930 |
|
BLAKE2b-256 | 130caaf14a9293b900446213134c8c08c7cdf857bf2324500c658feface17aa3 |