Skip to main content

ESB SQS based

Project description

Client side implementation of an ESB with Amazon SQS.

Simple Usage

# Default transport config
transport = {
    'prefix': 'dev-%(hostname)s-',
    'priorities': ['low', 'medium', 'high'],
    'polling_interval': 20,                   # Default queue polling interval
    'retention_period': 864000,               # Default queue retention period
    'visibility_timeout': 30,                 # Default queue visibility timeout
    'sleep_time': 0,                          # Default queue sleep time
    'region': 'eu-west-1'
}

bus = SwarmBus('LOGIN', 'PASSWORD', **transport)
bus.connect()

queue_config = {
    'visibility_timeout': 5
}

# Now we register a new queue
bus.register_queue('new_queue', **queue_config)

# Disconnect the bus to finish
bus.disconnect()

Using as a producer

with SwarmBus('LOGIN', 'PASSWORD', **transport) as producer:
    producer.register_queue('new_queue')

    producer.publish(
        'new_queue',
        {'id': 42}
    )

    producer.publish(
        'new_queue',
        {'id': 84},
        priority=1,  # Priority index, correspond to 'medium'
        delay=5      # Delay of the message
    )

Using as a consumer

def handle_message(body, message):
    print(body)
    message.delete()

def error_handler(body, message):
    raise ValueError('Error while processing message')

with SwarmBus('LOGIN', 'PASSWORD', **transport) as consumer:
    consumer.register_queue('new_queue')

    consumer.consume(
        'new_queue',
        handle_message,
        error_handler
    )

Project details


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-5.16.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

swarm_bus-5.16-py2-none-any.whl (12.1 kB view details)

Uploaded Python 2

File details

Details for the file swarm-bus-5.16.tar.gz.

File metadata

  • Download URL: swarm-bus-5.16.tar.gz
  • Upload date:
  • Size: 7.0 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

Hashes for swarm-bus-5.16.tar.gz
Algorithm Hash digest
SHA256 059eb44afeb742ea0e4486ddcce6f7a98c8019d6bc3a81374728bf377083618c
MD5 8ec20577eeb9a17a890bc0de0a41021c
BLAKE2b-256 1f38298a6bda434c8e6adb976b0c811ce0918d76a56f87d9c0908f59222bff45

See more details on using hashes here.

File details

Details for the file swarm_bus-5.16-py2-none-any.whl.

File metadata

  • Download URL: swarm_bus-5.16-py2-none-any.whl
  • Upload date:
  • Size: 12.1 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

Hashes for swarm_bus-5.16-py2-none-any.whl
Algorithm Hash digest
SHA256 e6cdfb9f3d1cd1050dddcd310b1bc77c46f70918f2a93f835ef184fe60f3250e
MD5 19b76bac3565f646a8922571edf4ac24
BLAKE2b-256 f02129e854f796089a5ae9af62f843bd066fd63d5345bd6c81754657a8bc3210

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page