(original) (raw)

import asyncio async def produce(queue: asyncio.Queue, items: int, loop: asyncio.AbstractEventLoop): for _ in range(items): try: await asyncio.wait_for(queue.put(1), timeout=0.1, loop=loop) except asyncio.TimeoutError: pass print(f"Len of queue._putters: {len(queue._putters)}") loop = asyncio.get_event_loop() queue = asyncio.Queue(maxsize=1, loop=loop) loop.run_until_complete(produce(queue=queue, items=20, loop=loop))