Simple retry cient for aiohttp
Project description
This package is similar to
Tornado-retry-client.
Python 3.5+.
Install: pip install aiohttp-retry.
Warning
This current version is 2.0. It hasn’t backward compatibility for
previous versions.
You still can use
v1.2 (pip
install aiohttp-retry==1.2), but it is unsupported.
Examples of usage:
from aiohttp_retry import RetryClient, RetryOptions
async def main():
retry_options = RetryOptions(attempts=1)
retry_client = RetryClient(raise_for_status=False, retry_options=retry_options)
async with retry_client.get('https://ya.ru') as response:
print(response.status)
await retry_client.close()
from aiohttp_retry import RetryClient
async def main():
async with RetryClient() as client:
async with client.get('https://ya.ru') as response:
print(response.status)
Look tests for more examples.
Be aware: last request returns as it is.
Documentation
RetryClient takes the same arguments as
ClientSession[docs]
RetryClient has methods: - get - options - head - post - put -
patch - put - delete
They are same as for ClientSession, but take one possible additional argument:
from typing import Optional, Set, Type
class RetryOptions:
def __init__(
self,
attempts: int = 3, # How many times we should retry
start_timeout: float = 0.1, # Base timeout time, then it exponentially grow
max_timeout: float = 30.0, # Max possible timeout between tries
factor: float = 2.0, # How much we increase timeout each time
statuses: Optional[Set[int]] = None, # On which statuses we should retry
exceptions: Optional[Set[Type[Exception]]] = None, # On which exceptions we should retry
)
...
You can specify RetryOptions both for RetryClient and it’s methods. RetryOptions in methods override RetryOptions defined in RetryClient constructor.
Development
Before creating PR please run mypy: mypy -m aiohttp_retry
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
aiohttp_retry-2.0.tar.gz
(3.5 kB
view hashes)
Built Distribution
Close
Hashes for aiohttp_retry-2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fcdb7b48ea96012c1f594464f8310d2728844e8930424fc5dfdc1a27802d061 |
|
MD5 | b17513a6f38dc727027acb4cd8f9bb6d |
|
BLAKE2b-256 | b998cc1386ea71374bcb8a9b393396c30e79198132e1672c31f053b86e9bb3e1 |