# client-task-pool.py from aiohttp import ClientSession, TCPConnector import asyncio import sys from pypeln.task import TaskPool limit = 1000 async def fetch(url, session): async with session.get(url) as response: return await response.read() async def _main(url, total_requests): connector = TCPConnector(limit=None) async with ClientSession(connector=connector) as session, TaskPool(limit) as tasks: for i in range(total_requests): await tasks.put(fetch(url.format(i), session)) url = "http://localhost:8080/{}" loop = asyncio.get_event_loop() loop.run_until_complete(_main(url, int(sys.argv[1])))