Hi,

>>> hemant wrote:
>>>  I'm using Packet-0.1.10 and OS is ubuntu 8.04 and yep bdrb 1.0.4
>>>
>>
>> It shouldn't happen, I will check later today and reply.
>>
>
> Thanks very much Herman. I am using default config except for :log:
> foreground
>


I tried to reproduce the problem, But I couldn't, here is the code, I tried:

class WowWorker < BackgrounDRb::MetaWorker
  set_worker_name :wow_worker

  def create(args = nil)
    # we are using memcache for storing results and hence, lets reset the cache
    # memcache will persist the results between backgroundrb server restarts
  end

  def run_wow user_args
    thread_pool.defer(:some_crap,user_args)
  end

  def some_crap user_args
    # we are using memcache for storing results and hence, lets reset the cache.
    # memcache will persist the results between backgroundrb server restarts
    # Also, if you are running lots of tasks parallely, don't forget
to use unique keys
    cache[:progress] = 0.00
    5.times do |i|
      sleep(2)
      logger.info "starting some_crap #{i}"
      cache[:progress] = ((i+1)/5.00)*100
    end
  end
end

# And I called using:
MiddleMan.worker(:wow_worker).async_run_wow(:arg => "hello world")
MiddleMan.worker(:wow_worker).ask_result(:progress)

So, I wonder, whats wrong there. You can send me a minimized version
of your application in tar ball and i will see, if I can reproduce the
problem.

Also, upgrade to git version if you haven't and don't use inbuilt
cache, try replacing it with memcache (again refer the docs).
_______________________________________________
Backgroundrb-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/backgroundrb-devel

Reply via email to