pillar-queue-wrapper

Our internal queue wrapper.


Keywords
aws, python, queue
License
MIT
Install
pip install pillar-queue-wrapper==0.0.1

Documentation

Tests Upload Python Package Build Docs

Pillar Queue Wrapper

Pillar's wrapper around AWS SQS

There are 2 options for authentication through this wrapper

  • Explicit: Where the 'aws_access_key' and 'aws_access_secret' are explicitly passed into the queue function
  • Implicit: Where 'None' is passed into the queue function and it trys to get the credetials from the AWS cli Install the aws cli and add the 'aws_access_key' and 'aws_access_secret' to it.

Quickstart/Basic Usage

    from pillar_queue import Queue
    q = Queue(
        name="queuename",
        aws_access_key="aws_access_key here",
        aws_access_secret="aws_access_secret here",
        aws_default_region='us-east-1',
    )
    #Note if a queue name ends with .fifo, it is a fifo queue

    q.send_message(message="A test message", message_attributes={}, message_group_id=None, deduplication_id=None)

    #blocking function that will wait for a message to appear
    message = q.wait_for_message(delete_message=True)
    print(message.body)

Testing

  1. Install AWS CLI with pip install awscli, insert your AWS iam Access key ID and Secret access key found in the AWS IAM console

  2. Make two queues in the SQS Tab called testqueue and testqueue.fifo. The queue testqueue.fifo should be of the FIFO type detailed here. These queues will be used to run the tests.

  3. Run 'pytest'

Future Features:

  • Queue creation/destruction
  • Message pooling
  • get,set, and delete functionality to use queues like arrays pythonically