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

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 2

File details

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

File metadata

  • Download URL: sqs-mq-0.2.0.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.0.tar.gz
Algorithm Hash digest
SHA256 660accac2cfc60298790b553312825d9128f0c7460f1067dc40fd1137718a854
MD5 fc2982b61bc0cc48a376791809e93577
BLAKE2b-256 f8f510fb7c6a65673275ab539d931f1e7d8bc242f4581d9bd5bc835900882eb1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sqs_mq-0.2.0-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.0-py2-none-any.whl
Algorithm Hash digest
SHA256 99adb15858c17c7ec2c47a0e948862a0a0d36cb0439b8c2b6d4fc56fd51528ec
MD5 9c8c3c0f4fcf9eff6e34d9386f152593
BLAKE2b-256 df1df90bea9ad4f9eb1795970e5118dfa528058539740dd109db33969c7a86ea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page