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

Uploaded Source

Built Distribution

swarm_bus-5.1-py2-none-any.whl (11.6 kB view details)

Uploaded Python 2

File details

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

File metadata

  • Download URL: swarm-bus-5.1.tar.gz
  • Upload date:
  • Size: 6.2 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.1.tar.gz
Algorithm Hash digest
SHA256 416f28cb6dc54456ab53a595e95fef373a08ea7f62a25df0808a259b76f492b9
MD5 5c09d990b515aafde3f1599b3ec58b96
BLAKE2b-256 944c75904b3145b9af2904d1b6b5d6bec273439fdea40f281e02d5f67017ed94

See more details on using hashes here.

File details

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

File metadata

  • Download URL: swarm_bus-5.1-py2-none-any.whl
  • Upload date:
  • Size: 11.6 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.1-py2-none-any.whl
Algorithm Hash digest
SHA256 1ec0be2b9d754faebfdfe12e9624c6ed41531bb9bc76435b8b5be31f1e763249
MD5 205eae54429ebd37c85aff37dd901cc9
BLAKE2b-256 1ca73ca871fdf362e1c855c2809a977442491ac8196450f01d68c0454b43e4e2

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