RedisClusterBroker
faststream.redis.RedisClusterBroker #
RedisClusterBroker(
url: str = "redis://localhost:6379",
**kwargs: Unpack[RedisClusterParams],
)
Bases: RedisBroker
A Redis Cluster broker.
Source code in faststream/redis/broker/cluster_broker.py
config instance-attribute #
request async #
request(
message: SendableMessage,
channel: str | None = None,
*,
list: str | None = None,
stream: str | None = None,
maxlen: int | None = None,
correlation_id: str | None = None,
headers: dict[str, Any] | None = None,
timeout: float | None = 30.0,
) -> RedisChannelMessage
Source code in faststream/redis/broker/broker.py
add_middleware #
add_middleware(
middleware: BrokerMiddleware[Any, Any],
) -> None
Append BrokerMiddleware to the end of middlewares list.
Current middleware will be used as a most inner of the stack.
Source code in faststream/_internal/broker/registrator.py
insert_middleware #
insert_middleware(
middleware: BrokerMiddleware[Any, Any],
) -> None
Insert BrokerMiddleware to the start of middlewares list.
Current middleware will be used as a most outer of the stack.
Source code in faststream/_internal/broker/registrator.py
publisher #
publisher(
channel: None = None,
*,
list: None = None,
stream: Union[StreamSub, str] = ...,
headers: dict[str, Any] | None = None,
reply_to: str = "",
message_format: type[MessageFormat] | None = None,
persistent: bool = True,
title: str | None = None,
description: str | None = None,
schema: Any | None = None,
include_in_schema: bool = True,
) -> StreamPublisher
publisher(
channel: None = None,
*,
list: str = ...,
stream: None = None,
headers: dict[str, Any] | None = None,
reply_to: str = "",
message_format: type[MessageFormat] | None = None,
persistent: bool = True,
title: str | None = None,
description: str | None = None,
schema: Any | None = None,
include_in_schema: bool = True,
) -> ListPublisher
publisher(
channel: None = None,
*,
list: Union[ListSub, str] = ...,
stream: None = None,
headers: dict[str, Any] | None = None,
reply_to: str = "",
message_format: type[MessageFormat] | None = None,
persistent: bool = True,
title: str | None = None,
description: str | None = None,
schema: Any | None = None,
include_in_schema: bool = True,
) -> Union[ListPublisher, ListBatchPublisher]
publisher(
channel: Union[PubSub, str] = ...,
*,
list: None = None,
stream: None = None,
headers: dict[str, Any] | None = None,
reply_to: str = "",
message_format: type[MessageFormat] | None = None,
persistent: bool = True,
title: str | None = None,
description: str | None = None,
schema: Any | None = None,
include_in_schema: bool = True,
) -> ChannelPublisher
publisher(
channel: Union[PubSub, str, None] = None,
*,
list: Union[ListSub, str, None] = None,
stream: Union[StreamSub, str, None] = None,
headers: dict[str, Any] | None = None,
reply_to: str = "",
message_format: type[MessageFormat] | None = None,
persistent: bool = True,
title: str | None = None,
description: str | None = None,
schema: Any | None = None,
include_in_schema: bool = True,
) -> LogicPublisher
publisher(
channel: Union[PubSub, str, None] = None,
*,
list: Union[ListSub, str, None] = None,
stream: Union[StreamSub, str, None] = None,
headers: dict[str, Any] | None = None,
reply_to: str = "",
message_format: type[MessageFormat] | None = None,
persistent: bool = True,
title: str | None = None,
description: str | None = None,
schema: Any | None = None,
include_in_schema: bool = True,
) -> LogicPublisher
Creates long-living and AsyncAPI-documented publisher object.
You can use it as a handler decorator (handler should be decorated by @broker.subscriber(...) too) - @broker.publisher(...). In such case publisher will publish your handler return value.
Or you can create a publisher object to call it lately - broker.publisher(...).publish(...).
| PARAMETER | DESCRIPTION |
|---|---|
channel | Redis PubSub object name to send message. TYPE: |
list | Redis List object name to send message. TYPE: |
stream | Redis Stream object name to send message. TYPE: |
headers | Message headers to store meta-information. Can be overridden by TYPE: |
reply_to | Reply message destination PubSub object name. TYPE: |
message_format | Which format to use when parsing messages. TYPE: |
title | AsyncAPI publisher object title. TYPE: |
description | AsyncAPI publisher object description. TYPE: |
schema | AsyncAPI publishing message type. Should be any python-native object annotation or TYPE: |
include_in_schema | Whether to include operation in AsyncAPI schema or not. TYPE: |
persistent | Whether to make the publisher persistent or not. TYPE: |
Source code in faststream/redis/broker/registrator.py
include_router #
include_router(
router: RedisRegistrator,
*,
prefix: str = "",
dependencies: Iterable[Dependant] = (),
middlewares: Sequence[BrokerMiddleware[Any, Any]] = (),
include_in_schema: bool | None = None,
) -> None
Source code in faststream/redis/broker/registrator.py
include_routers #
connect async #
ping async #
Source code in faststream/redis/broker/broker.py
subscriber #
subscriber(
channel: Union[PubSub, str, None] = None,
*,
list: Union[ListSub, str, None] = None,
stream: Union[StreamSub, str, None] = None,
**kwargs: Any,
) -> LogicSubscriber
Source code in faststream/redis/broker/cluster_broker.py
publish async #
publish(
message: SendableMessage = None,
channel: str | None = None,
*,
reply_to: str = "",
headers: dict[str, Any] | None = None,
correlation_id: str | None = None,
list: str | None = None,
stream: str | None = None,
maxlen: int | None = None,
pipeline: Optional[Pipeline[bytes]] = EMPTY,
) -> int | bytes
Source code in faststream/redis/broker/cluster_broker.py
stop async #
stop(
exc_type: type[BaseException] | None = None,
exc_val: BaseException | None = None,
exc_tb: Optional[TracebackType] = None,
) -> None
Source code in faststream/redis/broker/cluster_broker.py
start async #
publish_batch async #
publish_batch(
*messages: SendableMessage,
list: str,
correlation_id: str | None = None,
reply_to: str = "",
headers: dict[str, Any] | None = None,
pipeline: Optional[Pipeline[bytes]] = EMPTY,
) -> int