subscriber¶
- class litestar.channels.subscriber.Subscriber¶
基类:
object订阅频道上发布的事件流的包装器
- __init__(plugin: ChannelsPlugin, max_backlog: int | None = None, backlog_strategy: BacklogStrategy = 'backoff') None¶
- async iter_events() AsyncGenerator[bytes, None]¶
遍历事件流。如果没有可用项,则阻塞直到有项可用。
- run_in_background(on_event: Callable[[bytes], Awaitable[Any]], join: bool = True) AsyncGenerator[None, None]¶
在后台启动一个任务,将订阅者流中的事件在可用时发送至
socket。退出时,该任务将阻止流接收新事件,并等待当前已排队的全部事件处理完成。如果上下文因异常而退出,任务将立即被取消。 Args: on_event: 用于对每个事件调用事件数据的回调函数 join: 如果为True,则在停止工作线程前等待流中的所有项目处理完成。请注意,上下文内发生的错误将始终导致工作线程立即被取消
- async stop(join: bool = False) None¶
停止一个之前通过
run_in_background()启动的任务。如果任务尚未完成,它将被取消并等待其结束。 Args: join: 如果为True,则在停止任务前等待所有项目处理完毕。