public
Description: Distributed queued processing framework
Homepage: http://wiki.github.com/aeden/refinery
Clone URL: git://github.com/aeden/refinery.git
name age message
file .autotest Sun Feb 22 08:16:34 -0800 2009 testing [aeden]
file .gitignore Fri Aug 07 16:56:48 -0700 2009 refinery and epub executables now create pid fi... [aeden]
file CHANGELOG Mon Jun 29 03:57:08 -0700 2009 update the gemspec [aeden]
file LICENSE Mon Jun 01 06:55:09 -0700 2009 add changelog and license and update rakefile w... [aeden]
file README.rdoc Tue May 19 22:23:04 -0700 2009 updated docs [aeden]
file README.textile Tue May 19 22:22:35 -0700 2009 updated [aeden]
file Rakefile Fri Sep 18 15:34:10 -0700 2009 Version bump to 0.10.11 Added gem dependencies [kmayer]
file VERSION Sat Nov 21 20:18:59 -0800 2009 Version bump to 0.12.1 [aeden]
directory bin/ Sat Nov 21 20:11:21 -0800 2009 remove relative paths for requires, make provid... [aeden]
directory config/ Sat Nov 21 20:11:21 -0800 2009 remove relative paths for requires, make provid... [aeden]
directory docs/ Sun Feb 22 13:54:58 -0800 2009 stuffing it [aeden]
directory lib/ Sat Nov 21 20:18:44 -0800 2009 remove the explicit require of rubygems [aeden]
directory logs/ Mon Feb 23 18:56:06 -0800 2009 renamed project to Refinery [aeden]
directory publishers/ Mon Jul 13 05:28:37 -0700 2009 add publish_if_empty and publish_to_queue metho... [aeden]
file refinery.gemspec Sat Nov 21 20:19:10 -0800 2009 bump version [aeden]
directory test/ Wed Aug 12 18:38:58 -0700 2009 working on integrating a new optional sqs libra... [aeden]
directory workers/ Thu Jun 04 13:02:03 -0700 2009 always suffix either Worker or Publisher [aeden]
README.textile

Refinery

Refinery is a distributed processing framework written in the Ruby
programming language. It is designed to work with Amazon’s Web
Services such as SQS and S3 to distribute image and data processing
across multiple severs to alleviate the need for heavy-duty data and
image processing on web application servers.

Interprocess messaging is accomplished through a distributed queue system such as Amazon SQS and data storage is accomplished through a distributed data store
such as Amazon’s S3.

Required Libraries

  • RightScale AWS
  • JSON
  • Moneta

Optional Libraries

If you want to run the monitor then you’ll need to install Sequel and have SQLite3 installed.

If you want to run the stats server to view operational statistics
about Refinery then you’ll need to install Sequel, SQLite3 and Ramaze.

Executing

Refinery have several executable scripts that are used to launch the various components:

bin/refinery

This command executes the refinery execution server. This is where jobs
are run.

Example: bin/refinery -c config/config.yml

bin/epub

This command executes all publishers that fire on a regular basis.

Example: bin/epub -c config/config.yml

bin/pubnow

This command executes a single publisher once.

Example: bin/pubnow -c config/config.yml sample

bin/monitor

This command is used to run the monitor system. The monitor system tracks the health of the refinery. The monitor should only be run on a single host.