Base class for transports¶
A base class you should extend when writing transports.
Transport¶
-
class
vumi.transports.base.TransportConfig(config_data, static=False)¶ Base config definition for transports.
You should subclass this and add transport-specific fields.
Configuration options:
Parameters: - amqp_prefetch_count (int) – The number of messages fetched concurrently from each AMQP queue by each worker instance.
- transport_name (str) – The name this transport instance will use to create its queues.
- publish_status (bool) – Whether status messages should be published by the transport
-
class
vumi.transports.base.Transport(options, config=None)¶ Base class for transport workers.
The following attributes are available for subclasses to control behaviour:
start_message_consumer– Set toFalseif the message consumer should not be started. The subclass is responsible for starting it in this case.
-
CONFIG_CLASS¶ alias of
TransportConfig
-
static
generate_message_id()¶ Generate a message id.
-
handle_outbound_message(message)¶ This must be overridden to read outbound messages and do the right thing with them.
-
publish_ack(user_message_id, sent_message_id, **kw)¶ Helper method for publishing an
ackevent.
-
publish_delivery_report(user_message_id, delivery_status, **kw)¶ Helper method for publishing a
delivery_reportevent.
-
publish_event(**kw)¶ Publish a
TransportEventmessage.Some default parameters are handled, so subclasses don’t have to provide a lot of boilerplate.
-
publish_message(**kw)¶ Publish a
TransportUserMessagemessage.Some default parameters are handled, so subclasses don’t have to provide a lot of boilerplate.
-
publish_nack(user_message_id, reason, **kw)¶ Helper method for publishing a
nackevent.
-
publish_status(**kw)¶ Helper method for publishing a status message.
-
send_failure(message, exception, traceback)¶ Send a failure report.
-
setup_transport()¶ All transport_specific setup should happen in here.
Subclasses should override this method to perform extra setup.
-
setup_worker()¶ Set up basic transport worker stuff.
You shouldn’t have to override this in subclasses.
-
teardown_transport()¶ Clean-up of setup done in setup_transport should happen here.