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
    'office_hours': True,
    '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.13.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 2

File details

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

File metadata

  • Download URL: swarm-bus-5.13.tar.gz
  • Upload date:
  • Size: 6.9 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.13.tar.gz
Algorithm Hash digest
SHA256 360c5ad68a9f3ca96b259edeb8e4716950989fd7cf7bcbdea2d91bc84451151b
MD5 71fdfc8bc17afe445d705dd25c904619
BLAKE2b-256 5bcd4a88159caa712512bbb35ae25429be4907aaac734fb4c4d9007bb3ecc877

See more details on using hashes here.

File details

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

File metadata

  • Download URL: swarm_bus-5.13-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.13-py2-none-any.whl
Algorithm Hash digest
SHA256 d9cc70424ecb82142ae53428426d16db0c8d6ac214c5a68745d1fdf86f8d82ea
MD5 21b70e2230a0adb83ae57d256a83858f
BLAKE2b-256 659552ac7a7a535dd54a2ad7e7e6a7cb044cbea70bd65f481ea9ec3ea9163605

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