You missed the _worker part of the worker name in the schedule.

set_worker_name :appointment_mailer_worker

So you need this:

That doesn't helped either. I added some logging in create method of the
worker class. While starting, backgroundrb, i can see the effect in the
drb's log file. But that schedule thing doesn't seem to work. Does
anybody have some tested steps to make a schedule work. Can there be
some issue with Mac OS 10.5 ?

Sebastian Staudt wrote:

Get the latest version from Git as outlined in Also, is your create method returning, or
is it stuck somewhere? Can i see your actual worker code that you are
running? If create method is working, then you could have messed with
config file or create method is not returning at all. Either ways,
paste your actual worker code.

Also, use pastie or something to paste code since, gmail screws up
code formatting.

Well, I dergaded back to the version 1.01. Now my worker runs if i
hard code the schedule in backgroundrb.yml . But it does nothing if a
create new worker in the Rails controller with same schedule.
Here is action which i run to invoke the worker:

def appointments_summery
=> :appointment_reminder_worker, :job_key => :hello_world, :data =>
"wow_man", :schedule => { :appointments_summery => { :trigger_args =>
"*/5 * * * * * *",:data => "hello_world" }})
    render :text => "worker starterd"

Worker code is pretty simple, it just logs some text:
def appointments_summery(args = nil) "HELLOOWOWO: #{args}"

Everything other method to start workers, are working fine, through
backgroundrb.yml, MiddleMan.send_request, MiddleMan.ask_work. Only the
MiddleMan.new_worker doesn't respond.

I will try to get the latest release from GIT and see if it works. By
the way, there is "---" right at the top of autogenerated
backgroundrb.yml. Is that important?

Thanks for the help

By the way, i installed it as a plugin in Rails, rather then as a gem.
Could that cause some issue?

I checked the status of my the worker i created using worker_info
function. Its shows status as stopped. Do i need to explicitly do
something after i start a new worker using MiddleMan.new_worker.