nameko.amqp.publish

Exceptions

UndeliverableMessage

当启用了发布者确认并且消息无法路由或持久存储时抛出的异常。

Classes

Publisher

用于向 RabbitMQ 发布消息的工具助手。

Functions

get_connection(amqp_uri[, ssl, login_method, ...])

get_producer(amqp_uri[, confirms, ssl, login_method, ...])

Module Contents

exception nameko.amqp.publish.UndeliverableMessage[源代码]

Bases: Exception

当启用了发布者确认并且消息无法路由或持久存储时抛出的异常。

Initialize self. See help(type(self)) for accurate signature.

nameko.amqp.publish.get_connection(amqp_uri, ssl=None, login_method=None, transport_options=None)[源代码]
nameko.amqp.publish.get_producer(amqp_uri, confirms=True, ssl=None, login_method=None, transport_options=None)[源代码]
class nameko.amqp.publish.Publisher(amqp_uri, use_confirms=None, serializer=None, compression=None, delivery_mode=None, mandatory=None, priority=None, expiration=None, declare=None, retry=None, retry_policy=None, ssl=None, login_method=None, **publish_kwargs)[源代码]

Bases: object

用于向 RabbitMQ 发布消息的工具助手。

use_confirms = True[源代码]

为该发布者启用 confirms

发布者将等待来自代理的确认,以确保消息已被接收并适当处理,否则将抛出异常。启用确认会带来性能损耗,但可以保证消息不会丢失,例如由于连接过期导致的丢失。

transport_options[源代码]

一个用于传递给其他 Kombu 通道实现的附加连接参数的字典。请参考传输文档以了解可用的选项。

delivery_mode[源代码]

此发布者发布消息的默认投递模式。

mandatory = False[源代码]

要求为发布的消息启用 mandatory 投递。

priority = 0[源代码]

发布消息的优先级值,与 消费者优先级 配合使用 。

expiration = None[源代码]

每条消息的 TTL(存活时间), 单位为毫秒。详见 每条消息 TTL

serializer = 'json'[源代码]

发布消息时使用的序列化器名称。

必须注册为 kombu 序列化器

compression = None[源代码]

发布消息时使用的压缩方式名称。

必须注册为 kombu 压缩工具

retry = True[源代码]

启用自动重试,当由于连接错误导致消息发布失败时。

根据 self.retry_policy 执行重试。

retry_policy[源代码]

重试发布消息时应用的策略(如果请求重试)。

参见 self.retry

declare = [][源代码]

在发布消息前需要(重新)声明的 Kombu 对象,如 QueueExchange

amqp_uri[源代码]
ssl[源代码]
login_method[源代码]
publish_kwargs[源代码]
publish(payload: dict, **kwargs)[源代码]

发布一条消息