Skip to content

RedisRoute

faststream.redis.RedisRoute #

RedisRoute(
    call,
    channel=None,
    *,
    publishers=(),
    list=None,
    stream=None,
    dependencies=(),
    parser=None,
    decoder=None,
    middlewares=(),
    no_ack=EMPTY,
    ack_policy=EMPTY,
    no_reply=False,
    title=None,
    description=None,
    include_in_schema=True,
    max_workers=None,
)

Bases: SubscriberRoute

Class to store delayed RedisBroker subscriber registration.

Initialize the RedisRoute.

PARAMETER DESCRIPTION
call

Message handler function to wrap the same with @broker.subscriber(...) way.

TYPE: Callable[..., SendableMessage] | Callable[..., Awaitable[SendableMessage]]

channel

Redis PubSub object name to send message.

TYPE: Union[str, PubSub] | None DEFAULT: None

publishers

Redis publishers to broadcast the handler result.

TYPE: Iterable[RedisPublisher] DEFAULT: ()

list

Redis List object name to send message.

TYPE: Union[str, ListSub] | None DEFAULT: None

stream

Redis Stream object name to send message.

TYPE: Union[str, StreamSub] | None DEFAULT: None

dependencies

Dependencies list ([Dependant(),]) to apply to the subscriber.

TYPE: Iterable[Dependant] DEFAULT: ()

parser

Parser to map original aio_pika.IncomingMessage Msg to FastStream one.

TYPE: Optional[CustomCallable] DEFAULT: None

decoder

Function to decode FastStream msg bytes body to python objects.

TYPE: Optional[CustomCallable] DEFAULT: None

middlewares

Subscriber middlewares to wrap incoming message processing. (Deprecated)

TYPE: Sequence[SubscriberMiddleware[Any]] DEFAULT: ()

no_ack

Whether to disable FastStream auto acknowledgement logic or not. (Deprecated)

TYPE: bool DEFAULT: EMPTY

ack_policy

Acknowledgement policy of the handler.

TYPE: AckPolicy DEFAULT: EMPTY

no_reply

Whether to disable FastStream RPC and Reply To auto responses or not.

TYPE: bool DEFAULT: False

title

AsyncAPI subscriber object title.

TYPE: str | None DEFAULT: None

description

AsyncAPI subscriber object description. Uses decorated docstring as default.

TYPE: str | None DEFAULT: None

include_in_schema

Whetever to include operation in AsyncAPI schema or not.

TYPE: bool DEFAULT: True

max_workers

Number of workers to process messages concurrently.

TYPE: int | None DEFAULT: None

Source code in faststream/redis/broker/router.py
def __init__(
    self,
    call: Callable[..., "SendableMessage"]
    | Callable[..., Awaitable["SendableMessage"]],
    channel: Union[str, "PubSub"] | None = None,
    *,
    publishers: Iterable["RedisPublisher"] = (),
    list: Union[str, "ListSub"] | None = None,
    stream: Union[str, "StreamSub"] | None = None,
    dependencies: Iterable["Dependant"] = (),
    parser: Optional["CustomCallable"] = None,
    decoder: Optional["CustomCallable"] = None,
    middlewares: Sequence["SubscriberMiddleware[Any]"] = (),
    no_ack: bool = EMPTY,
    ack_policy: AckPolicy = EMPTY,
    no_reply: bool = False,
    title: str | None = None,
    description: str | None = None,
    include_in_schema: bool = True,
    max_workers: int | None = None,
) -> None:
    """Initialize the RedisRoute.

    Args:
        call:
            Message handler function to wrap the same with `@broker.subscriber(...)` way.
        channel:
            Redis PubSub object name to send message.
        publishers:
            Redis publishers to broadcast the handler result.
        list:
            Redis List object name to send message.
        stream:
            Redis Stream object name to send message.
        dependencies:
            Dependencies list (`[Dependant(),]`) to apply to the subscriber.
        parser:
            Parser to map original **aio_pika.IncomingMessage** Msg to FastStream one.
        decoder:
            Function to decode FastStream msg bytes body to python objects.
        middlewares:
            Subscriber middlewares to wrap incoming message processing. (Deprecated)
        no_ack:
            Whether to disable **FastStream** auto acknowledgement logic or not. (Deprecated)
        ack_policy:
            Acknowledgement policy of the handler.
        no_reply:
            Whether to disable **FastStream** RPC and Reply To auto responses or not.
        title:
            AsyncAPI subscriber object title.
        description:
            AsyncAPI subscriber object description. Uses decorated docstring as default.
        include_in_schema:
            Whetever to include operation in AsyncAPI schema or not.
        max_workers:
            Number of workers to process messages concurrently.
    """
    super().__init__(
        call,
        channel=channel,
        publishers=publishers,
        list=list,
        stream=stream,
        dependencies=dependencies,
        max_workers=max_workers,
        parser=parser,
        decoder=decoder,
        middlewares=middlewares,
        ack_policy=ack_policy,
        no_ack=no_ack,
        no_reply=no_reply,
        title=title,
        description=description,
        include_in_schema=include_in_schema,
    )

args instance-attribute #

args = args

kwargs instance-attribute #

kwargs = kwargs

call instance-attribute #

call = call

publishers instance-attribute #

publishers = publishers