A job framework for a wonderful world.
Adds rich job control, composition, and monitoring on top of a Gearman queue.
- Monitored background tasks
- Multi-consumer tasks
- Parallel task groups
- Serial task chaining
- Conditional task chaining
- Record-keeping (what ran when and where, for how long, how did it end)
- Automatic and manual retries
- Dynamic capacity and scaling
- Concurrency and exclusivity control
- Work allocation based on worker metadata
- Monitoring and control API, CLI tools, Web UI
- Install and start Gearman
- Run:
npx armstrong agent --volatile - Open http://localhost:1967/
$ npx armstrong install
You'll need to enter some configuration details and your sudo password.
For a manual install and/or details on production deploys, see: ยง More.
TODO
TODO: in their own pages
- [Protocol documentation]
- [Production recommendations]
- [Manual install]
- [Using another backing queue]
- Install armstrong globally:
npm i -g armstrong - Add the Systemd service unit:
armstrong install --systemd-unit | sudo tee /etc/systemd/system/armstrong.service - Create the configuration file:
armstrong install --config-file | sudo tee /etc/armstrong.toml - Edit the configuration to suit
- Create a new user and home:
sudo useradd --home-dir /var/lib/armstrong --create-home --user-group --system armstrong - Start the service:
sudo systemctl start armstrong - Enable the service:
sudo systemctl enable armstrong