This document is for Kombu's development version, which can be significantly different from previous releases. Get the stable docs here: 5.0.

连接/生产商池- kombu.pools

公共资源池。

class kombu.pools.PoolGroup(limit=None, close_after_fork=True)[源代码]

资源池的集合。

create(resource, limit)[源代码]
class kombu.pools.ProducerPool(connections, *args, **kwargs)[源代码]

池中 kombu.Producer 实例。

class Producer(channel, exchange=None, routing_key=None, serializer=None, auto_declare=None, compression=None, on_return=None)

消息制作人。

论点:

Channel(kombu.Connection,Channel):连接或通道。Exchange(kombu.entity.Exchange,str):可选默认交换。ROUTING_KEY(Str):可选的默认路由键。序列化程序(Str):默认的序列化程序。缺省值为 "json" 。COMPRESSION(字符串):默认压缩方式。

默认设置为无压缩。

AUTO_DECLARE(Bool):自动声明默认交换

在实例化时。缺省值为 True

On_Return(Callable):回调以调用无法投递的消息,

mandatoryimmediate 争论到 publish() 使用的是。此回调需要以下签名: (exception, exchange, routing_key, message) 。请注意,生产者需要排出事件才能使用此功能。

auto_declare = True

默认情况下,如果设置了默认交换,则在发布消息时将声明该交换。

property channel
close()
compression = None

默认压缩方法。默认情况下禁用。

property connection
declare()

申报交易所。

注:

在实例化时,这会自动发生 auto_declare 标志已启用。

exchange = None

默认汇兑

maybe_declare(entity, retry=False, **retry_policy)

如果在本次会议期间尚未声明汇率,请声明汇率。

on_return = None

基本返回回调。

publish(body, routing_key=None, delivery_mode=None, mandatory=False, immediate=False, priority=0, content_type=None, content_encoding=None, serializer=None, headers=None, compression=None, exchange=None, retry=False, retry_policy=None, declare=None, expiration=None, timeout=None, **properties)

将消息发布到指定的Exchange。

论点:

Body(Any):消息正文。ROUTING_KEY(Str):消息路由键。Delivery_模式(枚举):请参阅 delivery_mode 。必填项(Bool):目前不支持。Immediate(Bool):当前不支持。优先级(Int):消息优先级。介于0和9之间的数字。content_type(Str):内容类型。默认设置为自动检测。CONTENT_ENCODING(字符串):内容编码。默认设置为自动检测。序列化程序(Str):要使用的序列化程序。默认设置为自动检测。压缩(Str):要使用的压缩方法。默认设置为无。Header(Dict):要传递的任意标头的映射

使用邮件正文。

Exchange(kombu.entity.Exchange,str):覆盖交换。

请注意,此交换必须已申报。

声明(顺序 [EntityT] ):所需实体的可选列表

这肯定是在发布消息之前声明的。这些实体将使用 maybe_declare()

重试(Bool):重试发布或声明实体(如果

连接中断。

RETRY_POLICY(DICT):重试配置,这是关键字

支持: ensure()

过期(浮动):可以为每条消息指定以秒为单位的TTL。

默认设置为无到期。

超时(浮点):将超时设置为等待最大超时秒数

用于发布消息。

**PROPERTIES(ANY):其他消息属性,参见AMQP规范。

release()
revive(channel)

断开连接后恢复制作人。

routing_key = ''

默认路由密钥。

serializer = None

要使用的默认序列化程序。默认为JSON。

close_after_fork = True
close_resource(resource)[源代码]
create_producer()[源代码]
new()[源代码]
prepare(p)[源代码]
release(resource)[源代码]
setup()[源代码]
kombu.pools.get_limit()[源代码]

获取当前连接池限制。

kombu.pools.register_group(group)[源代码]

寄存器组(可用作装饰器)。

kombu.pools.reset(*args, **kwargs)[源代码]

通过关闭打开的资源重置所有池。

kombu.pools.set_limit(limit, force=False, reset_after=False, ignore_errors=False)[源代码]

Set new connection pool limit.