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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b28e8b960457761b24ce38f9c58d0bd76e6ca57659285c021b85c1463accb5c1 |
|
MD5 | 4fde41c233e534e3a3dea0fb0e892369 |
|
BLAKE2b-256 | b18dd373daf80b9dd865d1725d9e55f0364c83747544250ecaa562f449cf615d |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 067a4fb72ce653dd671b90b3a4b95e87046b02d97cf5ec0ec1e769275b3a29d7 |
|
MD5 | 0894d50847bb03b83f14dfd50c5aad6a |
|
BLAKE2b-256 | 5ec6374af7bb38f61b6f528a0ace34eaf5a6515d1993f12f48414c81895b1710 |