Allow passing multiprocessing.Queues to QueueListener/QueueHandler (#10169)

This commit is contained in:
Alex Waygood authored and GitHub committed 2023-05-10 17:06:41 +02:00
1 parent db0149859c
commit d1bfd08b4b
2 files changed
+23 -6

No files matched your search

+11 -6
View File
@@ -5,10 +5,11 @@ import sys
from _typeshed import ReadableBuffer, StrPath
from collections.abc import Callable
from logging import FileHandler, Handler, LogRecord
from queue import Queue, SimpleQueue
from re import Pattern
from socket import SocketKind, socket
from typing import Any, ClassVar
from typing import Any, ClassVar, Protocol, TypeVar
_T = TypeVar("_T")
DEFAULT_TCP_LOGGING_PORT: int
DEFAULT_UDP_LOGGING_PORT: int
@@ -249,17 +250,21 @@ class HTTPHandler(Handler):
if sys.version_info >= (3, 9):
def getConnection(self, host: str, secure: bool) -> http.client.HTTPConnection: ... # undocumented
class _QueueLike(Protocol[_T]):
def get(self) -> _T: ...
def put_nowait(self, __item: _T) -> None: ...
class QueueHandler(Handler):
queue: SimpleQueue[Any] | Queue[Any] # undocumented
def __init__(self, queue: SimpleQueue[Any] | Queue[Any]) -> None: ...
queue: _QueueLike[Any]
def __init__(self, queue: _QueueLike[Any]) -> None: ...
def prepare(self, record: LogRecord) -> Any: ...
def enqueue(self, record: LogRecord) -> None: ...
class QueueListener:
handlers: tuple[Handler, ...] # undocumented
respect_handler_level: bool # undocumented
queue: SimpleQueue[Any] | Queue[Any] # undocumented
def __init__(self, queue: SimpleQueue[Any] | Queue[Any], *handlers: Handler, respect_handler_level: bool = False) -> None: ...
queue: _QueueLike[Any] # undocumented
def __init__(self, queue: _QueueLike[Any], *handlers: Handler, respect_handler_level: bool = False) -> None: ...
def dequeue(self, block: bool) -> LogRecord: ...
def prepare(self, record: LogRecord) -> Any: ...
def start(self) -> None: ...