Although its been quite sometime since 1.0 release of BackgrounDRb has been out in the wild, yet a belated post mentioning its features is nonetheless welcome.
Although README document available at, http://backgroundrb.rubyforge.org is quite comprehensive and there is precious little I can add, yet I shall try.
- BackgrounDRb is a Ruby job server and scheduler. Its main intent is to be
used with Ruby on Rails applications for offloading long-running tasks. However unlike other libraries BackgrounDRb offers tight integration with Rails and hence you can check status of your workers, pass data to workers and get response back, register status of your workers, dynamically start or stop workers from rails and stuff like that.
- BackgrounDRb doesn’t have any DRb in its skin now. Its based on networking library packet, (http://packet.googlecode.com)
- Its stable.
- It has support for thread_pools, storing of results in MemCache clusters
- It comes with its own scheduler and hence you don’t need to muck around with crontab anymore
A Quick overview of installation:
- Get the plugin using:
piston import http://svn.devjavu.com/backgroundrb/trunk/ backgroundrb
- Remove or backup older backgroundrb scripts/config files in your rails root directory
- Run following command from root directory of your rails app:
- Have a look at generated config file, RAILS_ROOT/config/backgroundrb.yml and see if there is anything you would like to change.
- Generate a new worker using :
./script/generate worker foo
- Read the detail documentation about writing workers and stuff on http://backgroundrb.rubyforge.org
- Start your BackgrounDRb server with:
- Stop your BackgrounDRb server with: