aiothrottles¶
aiothrottles synchronization primitives are designed to be extension to asyncio synchronization primitives.
For more details, see aiothrottles Documentation.
Usage¶
Throttle implements a rate limiting for asyncio task. A throttle can be used to guarantee limited access to a shared resources.
The preferred way to use a Throttle is an async with statement:
throttle = Throttle('3/s')
# ... later
async with throttle:
# access shared state
which is equivalent to:
throttle = Throttle('3/s')
# ... later
await throttle.acquire()
try:
# access shared state
finally:
throttle.release()
A call rate is determined by the rate argument.
Pass the rate in the following formats:
"{integer limit}/{unit time}""{limit's numerator}/{limit's denominator}{unit time}"
rate examples:
4/s,5/m,6/h,7/d1/second,2/minute,3/hour,4/day1/3s,12/37m,1/5h,8/3d
Supported Python Versions¶
Python 3.6, 3.7, 3.8 and 3.9 are supported.