0.0
No commit activity in last 3 years
No release in over 3 years
Uses a Configuration/Controller pattern to allow easy implementation and organziation of multi-tier distributed workloads.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.8.3
~> 3.12

Runtime

 Project Readme

ActiveWorker

A framework for defining and tracking long-running jobs across a cluster.

Status

Code Climate Build Status

Core Features

  • 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.

Purpose

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.

Install

gem install active_worker

Getting Started

Take a look at examples and bin/example_runner for now.

Testing

Requires MongoDB and Redis to run tests bundle exec rake test