[Backgroundrb-devel] [ANN] New release!

Ezra Zygmuntowicz ezmobius at gmail.com
Mon Jun 12 18:08:56 EDT 2006


Hey Folks-

	I have just pushed a new release of BackgrounDRb to rubyforge. It  
has some nice new features to allow for usage of your ActiveRecord  
Models within your worker classes. I also added a config file for  
setting hosts and ports and if you want to load rails or not.

	Please have a look and let me know if anyone runs into any issues.  
If you already have an older version installed then you need to  
delete the script/backgroundrb dir from your rails app and reinstall  
the plugin. You can leave your lib/workers dir alone and it won't get  
clobbered. Once you have run rake backgroundrb:setup with the new  
plugin you need to look into config/backlgroundrb.yml for your  
settings. The defaults are fine but you need to be aware of them. You  
can set whether ActiveRecord connects to your development or  
production databases in the conf file. It will use your existing  
database.ymkl to make the connection.

         This is a new improved way to create your worker classes.
         You just need to inherit from BackgrounDRb::Rails and define
         a do_work(args) method. This method will automatically get
         called in its own thread when you create a new worker from
         rails. So when you say:

	MiddleMan.new_worker :class => :foo_worker, :args => "Hello!"

	The "Hello" argument gets sent to your do_work method.

	# Put your code that runs your task inside the do_work method
	# it will be run automatically in a thread. You have access to
	# all of your rails models if you set load_rails to true in the
	# config file. You also get @logger inside of this class by default.
	class FooWorker < BackgrounDRb::Rails

	  def do_work(args)
	    # This method is called in it's own new thread when you
	    # call new worker. args is set to :args.
             @logger.debug Post.find(:all).to_yaml
	  end

	end

	So you no longer have to deal with THreads yourself. Just inherit  
from the right class and this is taken care of for you.


Cheers-
-Ezra


More information about the Backgroundrb-devel mailing list