kombu.transport.virtual¶
Virtual transport implementation.
Emulates the AMQ API for non-AMQ transports.
Transports¶
-
class
kombu.transport.virtual.Transport(client, **kwargs)[source]¶ Virtual transport.
Parameters: client – Connectioninstance-
Channel= <class 'kombu.transport.virtual.Channel'>¶
-
Cycle= <class 'kombu.transport.virtual.scheduling.FairCycle'>¶
-
polling_interval= 1.0¶ Time to sleep between unsuccessful polls.
-
default_port= None¶ port number used when no port is specified.
-
state= <kombu.transport.virtual.BrokerState object>¶ BrokerStatecontaining declared exchanges and bindings (set by constructor).
-
Channel¶
-
class
kombu.transport.virtual.AbstractChannel[source]¶ This is an abstract class defining the channel methods you’d usually want to implement in a virtual channel.
Do not subclass directly, but rather inherit from
Channelinstead.
-
class
kombu.transport.virtual.Channel(connection, **kwargs)[source]¶ Virtual channel.
Parameters: connection – The transport instance this channel is part of. -
Message= <class 'kombu.transport.virtual.Message'>¶ message class used.
-
state¶ Broker state containing exchanges and bindings.
-
do_restore= True¶ flag to restore unacked messages when channel goes out of scope.
-
exchange_types= {'topic': <class 'kombu.transport.virtual.exchange.TopicExchange'>, 'fanout': <class 'kombu.transport.virtual.exchange.FanoutExchange'>, 'direct': <class 'kombu.transport.virtual.exchange.DirectExchange'>}¶ mapping of exchange types and corresponding classes.
-
exchange_declare(exchange=None, type=u'direct', durable=False, auto_delete=False, arguments=None, nowait=False, passive=False)[source]¶ Declare exchange.
-
exchange_delete(exchange, if_unused=False, nowait=False)[source]¶ Delete exchange and all its bindings.
-
queue_bind(queue, exchange=None, routing_key=u'', arguments=None, **kwargs)[source]¶ Bind queue to exchange with routing key.
-
basic_qos(prefetch_size=0, prefetch_count=0, apply_global=False)[source]¶ Change QoS settings for this channel.
Only prefetch_count is supported.
-
prepare_message(body, priority=None, content_type=None, content_encoding=None, headers=None, properties=None)[source]¶ Prepare message data.
-
Message¶
-
class
kombu.transport.virtual.Message(channel, payload, **kwargs)[source]¶ -
-
Message.accept¶
-
Message.ack()[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.
-
Message.acknowledged¶ Set to true if the message has been acknowledged.
-
Message.body¶
-
Message.channel¶
-
Message.content_encoding¶
-
Message.content_type¶
-
Message.decode()[source]¶ Deserialize the message body, returning the original python structure sent by the publisher.
-
Message.delivery_info¶
-
Message.delivery_tag¶
-
Message.errors= None¶
-
Message.headers¶
-
Message.payload¶ The decoded message body.
-
Message.properties¶
-
Message.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.
-
Quality Of Service¶
-
class
kombu.transport.virtual.QoS(channel, prefetch_count=0)[source]¶ Quality of Service guarantees.
Only supports prefetch_count at this point.
Parameters: - channel – AMQ Channel.
- prefetch_count – Initial prefetch count (defaults to 0).
-
can_consume()[source]¶ Return true if the channel can be consumed from.
Used to ensure the client adhers to currently active prefetch limits.
-
can_consume_max_estimate()[source]¶ Returns the maximum number of messages allowed to be returned.
Returns an estimated number of messages that a consumer may be allowed to consume at once from the broker. This is used for services where bulk ‘get message’ calls are preferred to many individual ‘get message’ calls - like SQS.
- returns:
- An integer > 0
-
prefetch_count= 0¶ current prefetch count value
-
restore_at_shutdown= True¶ If disabled, unacked messages won’t be restored at shutdown.