Skip to main content

A message queue system using AWS SQS

Project description

SQS-MQ

A message queue system using AWS SQS

Features

  • Automatically process messages
  • Created completed and failed buckets
  • Create bucket by pool name
  • Process messages by bucket

Install

pip install sqs-mq

Create/Connect

mq = SQSMQ(name, 
          aws_access_key_id, 
          aws_secret_access_key, 
          region, 
          visibility_timeout)

Alternatively, connect later

mq = SQSMQ(name)

mq.connect(aws_access_key_id, 
          aws_secret_access_key, 
          region)

SQS-MQ will create 3 buckets of messages:

QUEUED: This bucket will contain all the messages to be processed

COMPLETED: contains all messages that have have processed successfully

FAILED: contains all messages that have failed to process properly, or due to an error.

mq = SQSMQ("myQname", **kwargs)

Three buckets will be created: myQname-QUEUED, myQname-COMPLETED, myQname-FAILED


Usage

Add Task

mq.add(my_function_name, *args, **kwargs)

Add Task in different pool

To add a task in a different pool. it will be named: myQname-QUEUED-FAST

mq.add(my_fn, *args, **kwargs, pool='FAST')

Add delay

To add a delay

mq.add(my_fn, delay=45)

Run the tasks

Run all

mq.run()

Run by pool name

mq.run(pool='FAST')

COMPLETED and FAILED

Once a tasks have been processed, it will be added in either COMPLETED or FAILED buckets.

Run all items in the COMPLETED bucket

def completed_callback(body:dict): 
  data = ...

mq.run_completed(callback=completed_callback)

Run all items in the FAILED bucket

def failed_callback(body:dict): 
  data = ...

mq.run_failed(callback=failed_callback)

Once captured, it will delete the message from the queue

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

sqs-mq-0.2.1.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

sqs_mq-0.2.1-py2-none-any.whl (4.3 kB view details)

Uploaded Python 2

File details

Details for the file sqs-mq-0.2.1.tar.gz.

File metadata

  • Download URL: sqs-mq-0.2.1.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.17.3 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/2.7.13

File hashes

Hashes for sqs-mq-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b28e8b960457761b24ce38f9c58d0bd76e6ca57659285c021b85c1463accb5c1
MD5 4fde41c233e534e3a3dea0fb0e892369
BLAKE2b-256 b18dd373daf80b9dd865d1725d9e55f0364c83747544250ecaa562f449cf615d

See more details on using hashes here.

File details

Details for the file sqs_mq-0.2.1-py2-none-any.whl.

File metadata

  • Download URL: sqs_mq-0.2.1-py2-none-any.whl
  • Upload date:
  • Size: 4.3 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.17.3 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/2.7.13

File hashes

Hashes for sqs_mq-0.2.1-py2-none-any.whl
Algorithm Hash digest
SHA256 067a4fb72ce653dd671b90b3a4b95e87046b02d97cf5ec0ec1e769275b3a29d7
MD5 0894d50847bb03b83f14dfd50c5aad6a
BLAKE2b-256 5ec6374af7bb38f61b6f528a0ace34eaf5a6515d1993f12f48414c81895b1710

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