Just starting out with BackgroundDRb and have some troubles with
calling a worker's async process right after I try to create it.
Here's my code:
In my book model I have the following:
# Starts a new BackgroundDRb worker for searching
def start_search(worker_key, job_key, search_params)
MiddleMan.new_worker(:worker => :texis_worker, :worker_key =>
worker_key.to_s)
MiddleMan.worker(:texis_worker, worker_key.to_s).async_search(:arg
=> {:book => self, :search_params => search_params}, :job_key =>
job_key)
end
# Get Status of Worker
def self.search_status(worker_key, job_key)
status = MiddleMan.worker(:texis_worker,
worker_key.to_s).ask_result("#{worker_key.to_s}_#{job_key.to_s}")
end
My controller's search method has this line:
@book.start_search(session[:user], @book.id, search_params)
Here's my worker:
class TexisWorker < BackgrounDRb::MetaWorker
set_worker_name :texis_worker
set_no_auto_load true
def create(args = nil)
logger.info "Creating #{worker_key}"
end
def search(arg)
logger.info "Testing #{worker_key} -- #{job_key} --
#{arg[:book].name}"
cache["#{worker_key.to_s}_#{job_key.to_s}"] = arg[:book].name
end
end
When a user runs a search in my books controller I call start_search
passing in a user id as the worker_key, book_id as job_key and a hash
of search parameters.
I tail the log and then browse to the controller. In my log I will get:
Creating 293460168
But nothing else.
Eventually, say 30 seconds to a minute and switching between different
books I finally start to get something like:
Testing 293460168 -- 3806 -- Workers Compensation
If I do this from script/console everything works fine.
I'm running mongrel in development mode, using packet 0.1.13,
backgroundrb 1.0.4, cent os 5
It seems initially creating the worker is not done for a while? and so
the calls to async are failing; once the worker has been intialized
everything is fine?
Any help would be appreciated.
Thanks,
Curtis
_______________________________________________
Backgroundrb-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/backgroundrb-devel