LogicPublisher
faststream.nats.publisher.usecase.LogicPublisher #
LogicPublisher(
config: NatsPublisherConfig,
specification: PublisherSpecification[Any, Any],
)
Bases: PublisherUsecase
A class to represent a NATS publisher.
Initialize NATS publisher object.
Source code in faststream/nats/publisher/usecase.py
publish async #
publish(
message: SendableMessage,
subject: str = "",
headers: dict[str, str] | None = None,
reply_to: str = "",
correlation_id: str | None = None,
stream: str | None = None,
timeout: float | None = None,
) -> Optional[PubAck]
Publish message directly.
| PARAMETER | DESCRIPTION |
|---|---|
message | Message body to send. Can be any encodable object (native python types or TYPE: |
subject | NATS subject to send message. TYPE: |
headers | Message headers to store metainformation. content-type and correlation_id will be set automatically by framework anyway. |
reply_to | NATS subject name to send response. TYPE: |
correlation_id | Manual message correlation_id setter. correlation_id is a useful option to trace messages. TYPE: |
stream | This option validates that the target subject is in presented stream. Can be omitted without any effect if you doesn't want PubAck frame. TYPE: |
timeout | Timeout to send message to NATS. TYPE: |
| RETURNS | DESCRIPTION |
|---|---|
Optional[PubAck] |
|
Optional[PubAck] |
|
Source code in faststream/nats/publisher/usecase.py
request async #
request(
message: SendableMessage,
subject: str = "",
headers: dict[str, str] | None = None,
correlation_id: str | None = None,
stream: str | None = None,
timeout: float = 0.5,
) -> NatsMessage
Make a synchronous request to outer subscriber.
If out subscriber listens subject by stream, you should setup the same stream explicitly. Another way you will reseave confirmation frame as a response.
| PARAMETER | DESCRIPTION |
|---|---|
message | Message body to send. Can be any encodable object (native python types or TYPE: |
subject | NATS subject to send message. TYPE: |
headers | Message headers to store metainformation. content-type and correlation_id will be set automatically by framework anyway. |
correlation_id | Manual message correlation_id setter. correlation_id is a useful option to trace messages. TYPE: |
stream | This allows to make RPC calls over JetStream subjects. TYPE: |
timeout | Timeout to send message to NATS. TYPE: |
| RETURNS | DESCRIPTION |
|---|---|
NatsMessage |
|