A framework for defining and tracking long-running jobs across a cluster.
- Backed by MongoDB/Mongoid for long-term storage of Job Configurations and Events
- Templating to group similar jobs by Scenario
- Hierarchy of Configurations so jobs can launch/own other jobs
- "Root-Object" pattern so all artifacts created by the Job can be organized under a single object for fast/convenient look-ups
- Expansion allows a single configuration to launch multiple instances of the job
- Events keep track of Start/Finish/Termination/Failure of Jobs. FailureEvents record stack-traces.
- Modes allow multiple permutations of fields without having to memorize particular options.
ActiveWorker uses Resque as the underlying job launching platform. Support for Beanstalk has been deprecated.
ActiveWorker is designed to support load-testing and performance testing but can be used for any purpose. The underlying expansion logic supports forking(default) and threading.
gem install active_worker
Take a look at examples and bin/example_runner for now.
Requires MongoDB and Redis to run tests bundle exec rake test