async_wrapper.queue.py
- class async_wrapper.queue.Queue(max_size: float | None = None)[source]
Bases:
Generic[ValueT]obtained from
asyncio.QueueExample
>>> from __future__ import annotations >>> >>> from typing import Any >>> >>> import anyio >>> >>> from async_wrapper import Queue >>> >>> >>> async def aput(queue: Queue[Any], value: Any) -> None: >>> async with queue: >>> await queue.aput(value) >>> >>> >>> async def main() -> None: >>> queue: Queue[Any] = Queue(10) >>> >>> async with anyio.create_task_group() as task_group: >>> async with queue.aputter: >>> for i in range(10): >>> task_group.start_soon(aput, queue.clone.putter, i) >>> >>> async with queue.agetter: >>> result = {x async for x in queue} >>> >>> assert result == set(range(10)) >>> >>> >>> if __name__ == "__main__": >>> anyio.run(main)
- property aputter: AsyncContextManager[Self]
aclose putter only
- property agetter: AsyncContextManager[Self]
aclose getter only
- property putter: ContextManager[Self]
close putter only
- property getter: ContextManager[Self]
close getter only
- property maxsize: float
number of items allowed in the queue.
- async aget(*, timeout: float | None = None) ValueT[source]
remove and return an item from the queue.
- Parameters:
timeout – error occurs when over timeout. Defaults to None.
- Returns:
item from queue
- async aput(value: ValueT, *, timeout: float | None = None) None[source]
put an item into the queue.
- Parameters:
value – item
timeout – error occurs when over timeout. Defaults to None.
- property clone: _Clone[ValueT]
Create a queue factory for generating RestrictedQueue instances.
- Returns:
A queue factory.
Added in version 0.5.2.
- async_wrapper.queue.create_queue(max_size: float | None = None) Queue[Any][source]
create queue like
asyncio.Queue- Parameters:
max_size – queue size. Defaults to None.
- Returns:
new
Queueusinganyio.abc.ObjectStream