AMQP layer for communicating with the ESB.
Project description
Client side implementation of an ESB via Amazon SQS.
Simple Usage
uri = 'sqs://LOGIN:PASSWORD@' transport = { 'region': 'eu-west-1', 'exchange': 'swarm', 'queue_name_prefix': 'dev-%(hostname)s-', 'office_hours': False, 'use_priorities': True, 'priorities': ['low', 'high'], 'queue_living': 864000, # Default living message 'queue_sleeping': 0, # Default sleep time between messages 'queue_visibility': 30, # Default visibility message 'queue_waiting': 10 # Default long polling seconds } queues = { 'my_queue': { 'route': 'my.queue.route', # Specific route 'sleep': 60, # Seconds before next call to SQS 'visibility': 1800, # Visibility message in queue 'wait': 20 # Long polling seconds }, 'my_second_queue': {} # Will be automaticaly filled/completed } bus = AMQP(uri, transport, queues) bus.connect() # We purge a known queue bus.purge_queue('my_queue') # Now we add a new queue on the fly bus.register_queue('new_queue', {'wait': 20}) bus.close()
Using as a producer
with AMQP(uri, transport, queues) as producer: producer.publish( 'my_queue', {'id': 42}, 1 # Optional, specify 'high' priority queue )
Using as a consumer
def print_routing_key(body, message): id_ = body['id'] rk = message.delivery_info['routing_key'] print("[x] %r:%r" % (rk, id_)) def ack_message(body, message): message.ack() def error_handler(body, message): raise ValueError('Error while processing message') with AMQP(uri, transport, queues) as consumer: consumer.consume( 'my_queue', [print_routing_key, ack_message], error_handler )
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
swarm-bus-4.2.tar.gz
(6.7 kB
view details)
Built Distribution
File details
Details for the file swarm-bus-4.2.tar.gz
.
File metadata
- Download URL: swarm-bus-4.2.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/36.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05fb759c5a9795ae0e06d61551a7d5f1d40e5a02c9b41edcd16329d2a3c7b108 |
|
MD5 | 3f3e7c81efff21c99cd1048b79e0ba31 |
|
BLAKE2b-256 | 6402ea60a5bc9dbc85394f4b05190af30d67df28dc6d51f9135eaca2dfca4111 |
File details
Details for the file swarm_bus-4.2-py2-none-any.whl
.
File metadata
- Download URL: swarm_bus-4.2-py2-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/36.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1bf65a67d37d2d440bfbeda07f54f6a9352a9e1d97e530b61de897ae225f10d |
|
MD5 | 29722ac576cc0066369da63236570a0f |
|
BLAKE2b-256 | 01b867eb4f09e3e6609609209e71e3bac36a7de2bd83511d33023a21072e2703 |