Skip to main content

Command-line tool that executes a command for each SQS message it receives.

Project description

Antenna.

Usage: antenna listen antenna configure

The most stupidly simple way to scale an application is through a message queue, at least where latency is not an issue. If you’re using the AWS ecosystem, the most stupidly simple way to run tasks based on messages from a message queue is through Antenna.

Grab a message from a queue, run a command and if it worked, remove the message:

antenna listen <profile> <queue> "<command>" \
    1> antenna.log \
    2> antenna.err.log

Antenna will look for credentials in either ~/.aws/config (this is where your AWS CLI credentials live) or ~/.boto if you’re using Boto in Python.

[profile my-profile-name]
aws_access_key_id=<id>
aws_secret_access_key=<secret>
region=<region>

An easy way to see if everything is working would be to manually add a couple of messages with the SQS Management Console, and use "cat >> log.txt" as a command.

You can also add messages to the queue from the command line with the AWS CLI

# get your queue's endpoint if you only know its name
aws sqs get-queue-url --profile my-profile-name --queue-name my-queue | jq '.QueueUrl'
aws sqs send-message --queue-url my-queue-url --message-body my-message-body

For more information, look at the AWS CLI documentation for SQS

Install Antenna with pip, the Python package installer.

pip install sqs-antenna

While Antenna will run indefinitely, executing your command for each message it receives, it’s probably still safe to run Antenna as a daemon.

If you’re on Ubuntu, you can run Antenna as a daemon by adding it to Upstart:

antenna configure <profile> <queue> "<command>" > /etc/init/<task>.conf
initctl reload-configuration
start <task>

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-antenna-0.1.4.tar.gz (3.5 kB view details)

Uploaded Source

File details

Details for the file sqs-antenna-0.1.4.tar.gz.

File metadata

File hashes

Hashes for sqs-antenna-0.1.4.tar.gz
Algorithm Hash digest
SHA256 876c05b2ba631ca5f1cbffc0a45c3968aa9feb451822af352500de899a468ffb
MD5 4498bdbed91a4cc551a90c6a073ffd0a
BLAKE2b-256 32105feba637598c44059bba64f6d6a6843cd9cf5e198d1267a237ef65efee3c

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