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: