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>
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file sqs-antenna-0.1.4.tar.gz.
File metadata
- Download URL: sqs-antenna-0.1.4.tar.gz
- Upload date:
- Size: 3.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
876c05b2ba631ca5f1cbffc0a45c3968aa9feb451822af352500de899a468ffb
|
|
| MD5 |
4498bdbed91a4cc551a90c6a073ffd0a
|
|
| BLAKE2b-256 |
32105feba637598c44059bba64f6d6a6843cd9cf5e198d1267a237ef65efee3c
|