Sobes.tech
Junior — Senior

Asynchronous sending of thousands of requests with a rate limit of 10 requests per second

livecode

Task condition

Develop an asynchronous function do_requests based on asyncio, which will perform about 1000 GET requests to different resources. No more than 10 requests should run in parallel at the same time, i.e., you need to implement a limiter for the number of concurrently active requests. Each request differs only by a unique URL, and the received response should be printed to the console. Note that the external service will reject requests if their number exceeds 10 per second.

async def do_requests(urls: list[str]) -> None: