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

消息对象- kombu.message

消息类。

class kombu.message.Message(body=None, delivery_tag=None, content_type=None, content_encoding=None, delivery_info=None, properties=None, headers=None, postencode=None, accept=None, channel=None, **kwargs)[源代码]

已接收消息的基类。

关键字参数:

Channel(Channel):如果收到消息,这应该是

接收消息的通道。

Body(Str):消息正文。

DELIVERY_MODE(Bool):设置自定义交付模式。

默认为 delivery_mode

优先级(Int):消息优先级,0为已配置的代理

最大优先级,越高越好。

Content_type(Str):消息内容_类型。如果为Content_Type

则不会发生序列化,因为假定这是一个二进制对象,或者您已经完成了自己的序列化。如果使用内置序列化,则保留为空,因为我们的库正确设置了CONTENT_TYPE。

CONTENT_ENCODING(Str):该对象所在的字符集

是经过编码的。如果发送原始二进制对象,请使用“二进制”。如果使用内置序列化,因为我们的库正确设置了CONTENT_ENCODING,则将其留空。

属性(Dict):消息属性。

Headers(Dict):消息标头。

exception MessageStateError

该消息已被确认。

accept
ack(multiple=False)[源代码]

确认此消息正在处理中。

这将从队列中删除该消息。

抛出:

MessageStateError -- 如果消息已经:已确认/已重新排队/已拒绝。

ack_log_error(logger, errors, multiple=False)[源代码]
property acknowledged

如果消息已被确认,则设置为True。

body
channel
content_encoding
content_type
decode()[源代码]

反序列化消息体。

返回发布者发送的原始python结构。

注:

对返回值进行备注,使用 _decode 以迫使重新评估。

delivery_info
delivery_tag
errors = None
headers
property payload

解码后的消息正文。

properties
reject(requeue=False)[源代码]

拒绝此邮件。

该消息将被服务器丢弃。

抛出:

MessageStateError -- 如果消息已经:已确认/已重新排队/已拒绝。

reject_log_error(logger, errors, requeue=False)[源代码]
requeue()[源代码]

拒绝此邮件并将其放回队列中。

警告:

不能将此方法用作选择要处理的邮件的手段。

引发MessageStateError:

如果消息已经:已确认/已重新排队/已拒绝。