async_wrapper.queue.py
- class async_wrapper.queue.Queue(max_size: float | None = None)
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=True), 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
- qsize() int
number of items in the queue.
- property maxsize: float
number of items allowed in the queue.
- empty() bool
true if the queue is empty, false otherwise.
- full() bool
return true if there are maxsize items in the queue.
- async aget(*, timeout: float | None = None) ValueT
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
put an item into the queue.
- Parameters:
value – item
timeout – error occurs when over timeout. Defaults to None.
- get() ValueT
remove and return an item from the queue without blocking.
- put(value: ValueT) None
put an item into the queue without blocking.
- async aclose() None
close the stream as async
- close() None
close the stream as sync
- clone(*, putter: bool = False, getter: bool = False) Queue[ValueT]
create clone of this queue.
- Parameters:
putter – if true, clone putter. Defaults to False.
getter – if true, clone getter. Defaults to False.
- Returns:
clone
- statistics() MemoryObjectStreamStatistics
return statstics from stream
- async_wrapper.queue.create_queue(max_size: float | None = None) Queue[Any]
create queue like
asyncio.Queue- Parameters:
max_size – queue size. Defaults to None.
- Returns:
new
Queueusinganyio.abc.ObjectStream