Ivan Maltz
2009-Nov-07 21:56 UTC
[Backgroundrb-devel] starting queued worker tasks immediately
My application performs a series of image processing tasks on photos. These
are queued up for processing like this
worker = MiddleMan.worker(:photo_worker)
worker.enq_process_images(:arg => id, :job_key =>
"#{PHOTO_WORKER_KEY}_#{id}" )
The background processing is kicked off every minute, as specified in
backgroundrb.yml
:persistent_delay: 60
The images are processed in PhotoWorker like this
def process_images(pid)
photo = Photo.find(pid)
photo.do_processing
persistent_job.finish!
# this task is done, start the next one
check_for_enqueued_tasks
end
When adding a new task to an empty queue, I would like to start the
background process immediately, rather than waiting till the next scheduled
execution of the worker. How can I accomplish this?
-Ivan
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://rubyforge.org/pipermail/backgroundrb-devel/attachments/20091107/e4dcee34/attachment.html>