a batch based request package with retry stratgy that enables you to send X requests concurrently at rate of Y requests/execution
Project description
Request Ray
a batch based request package with retry stratgy that enables you to send X requests concurrently at rate of Y requests/execution with max retries for each N
Setup
pip install request-ray
How to use
from request_ray import rray
requests = [{
'method': 'POST',
'url': 'https://google.com',
'kwargs': {'data': json.dumps({'hello': 'world'}), 'headers': {'alpha': 'beta'}}
}, {
'method': 'GET',
'url': 'https://facebook.com',
'kwargs': {}
}]
batch_size = 2 # max no of requests to send at a time
retry_policy = 3 # how many times to retry failed requests
responses rray.send_requests(requests, batch_size, retry_policy)
print(responses) # array of expected responses with structure in each element: {'index': 0, 'response': standard_response_object}
How it works
As shown below:
- 6 requests are queued
- first 3 are started
- 1,3 get 200 ok and 2 get 500 so it's enqueued again
- 2 is retried with next requests till it's statisfied or retry max reached
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
request_ray-0.1.2.tar.gz
(3.7 kB
view hashes)
Built Distribution
Close
Hashes for request_ray-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0ef3787ccc85cd399ac35eb4891340b16081bcd21383470472db3b7910c539c |
|
MD5 | d2e7b9c5d34343ff58702968f50ad629 |
|
BLAKE2b-256 | 2bf48f1a8f3de20f0e4bd71afc6c50ad68cf2f6805a12929d944935823d9dc17 |