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

Uploaded Source

Built Distribution

swarm_bus-5.12-py2-none-any.whl (12.0 kB view details)

Uploaded Python 2

File details

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

File metadata

  • Download URL: swarm-bus-5.12.tar.gz
  • Upload date:
  • Size: 6.8 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.12.tar.gz
Algorithm Hash digest
SHA256 dbe08a4422ff7fff3db3083adafdee17fcfc7109ee6fe537e33f915864e77d14
MD5 906868ed8d6731702e7ba51aedbd6c8c
BLAKE2b-256 e5f02c2552fa1c8c4b15a66a80699b989494b416d0d6126558ac586d18c5f3e1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: swarm_bus-5.12-py2-none-any.whl
  • Upload date:
  • Size: 12.0 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.12-py2-none-any.whl
Algorithm Hash digest
SHA256 84412273ca4dbc40e9d3827046ec16c9a84d96e3333e582f0454c4e59f69bd92
MD5 d159e39f078de0464ed485f7e480c7ee
BLAKE2b-256 4b5fcd8252ffe9975d0461d4ed527c826a1d176e350a320a7699719e685f4d21

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