This document describes the current stable version of Kombu (5.3). For development docs, go here.

Transport Base Class - kombu.transport.base

Base transport interface.

Message

class kombu.transport.base.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)[source]

Base class for received messages.

Keyword Arguments:

channel (ChannelT): If message was received, this should be the

channel that the message was received on.

body (str): Message body.

delivery_mode (bool): Set custom delivery mode.

Defaults to delivery_mode.

priority (int): Message priority, 0 to broker configured

max priority, where higher is better.

content_type (str): The messages content_type. If content_type

is set, no serialization occurs as it is assumed this is either a binary object, or you’ve done your own serialization. Leave blank if using built-in serialization as our library properly sets content_type.

content_encoding (str): The character set in which this object

is encoded. Use “binary” if sending in raw binary objects. Leave blank if using built-in serialization as our library properly sets content_encoding.

properties (Dict): Message properties.

headers (Dict): Message headers.

payload

The decoded message body.

channel
delivery_tag
content_type
content_encoding
delivery_info
headers
properties
body
acknowledged

Set to true if the message has been acknowledged.

ack(multiple=False)[source]

Acknowledge this message as being processed.

This will remove the message from the queue.

Raises:

MessageStateError – If the message has already been: acknowledged/requeued/rejected.

reject(requeue=False)[source]

Reject this message.

The message will be discarded by the server.

Raises:

MessageStateError – If the message has already been: acknowledged/requeued/rejected.

requeue()[source]

Reject this message and put it back on the queue.

Warning:

You must not use this method as a means of selecting messages to process.

raises MessageStateError:

If the message has already been: acknowledged/requeued/rejected.

decode()[source]

Deserialize the message body.

Returning the original python structure sent by the publisher.

Note:

The return value is memoized, use _decode to force re-evaluation.

Transport

class kombu.transport.base.Transport(client, **kwargs)[source]

Base class for transports.

client = None

The Connection owning this instance.

default_port = None

Default port used when no port has been specified.

recoverable_connection_errors

Optional list of connection related exceptions that can be recovered from, but where the connection must be closed and re-established first.

If not defined then all connection_errors and channel_errors will be regarded as recoverable, but needing to close the connection first.

recoverable_channel_errors

Optional list of channel related exceptions that can be automatically recovered from without re-establishing the connection.

connection_errors = (<class 'amqp.exceptions.ConnectionError'>,)

Tuple of errors that can happen due to connection failure.

channel_errors = (<class 'amqp.exceptions.ChannelError'>,)

Tuple of errors that can happen due to channel/method failure.

establish_connection()[source]
close_connection(connection)[source]
create_channel(connection)[source]
close_channel(connection)[source]
drain_events(connection, **kwargs)[source]