Skip to content

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

License

Notifications You must be signed in to change notification settings

SoftwareWithFriends/ActiveWorker

Repository files navigation

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

About

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

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages