I just remember that in the older version of backgroundrb I was having
memory/performance issues until I added self.delete to do_work. Then
those problems went away. My worker is very simple:
class ContextWorker < BackgrounDRb::MetaWorker
set_worker_name :context_worker
pool_size 5
def create(args = nil)
end
def process_context(context_id)
require 'context_update'
@r_update = ContextUpdate.new(Time.now)
@r_update.load_public_context(context_id)
end
end
The bulk of the code is in libraries. So you're saying I self.delete
is the same as putting exit after
@r_update.load_public_context(context_id)?
thanks!
On Thu, Mar 6, 2008 at 2:30 AM, hemant kumar <[EMAIL PROTECTED]> wrote:
>
>
> On Tue, 2008-03-04 at 16:27 -0500, mike bukhin wrote:
> > Hi there--
> >
> > I just updated to the latest build of Backgroundrb and am hitting up
> > against a memory leak because my workers aren't cleaning up. My code
> > concurrently pulls a large number of images using RMagick. I thought
> > the problem was with RMagick but after putting in some garbage
> > collection code when pulling an image, my code runs well from irb.
> > When wrapped with backgroundrb, it eventually hangs.
> >
> > In the old backgroundrb I had a self.delete at the end of do_work to
> > clean up. Now my setup is a little different:
> >
> > MiddleMan.worker(:context_worker).process_context(id)
> >
> > and then
> >
> > class ContextWorker < BackgrounDRb::MetaWorker
> >
> > set_worker_name :context_worker
> > pool_size 1
> >
> >
> > def create(args = nil)
> >
> > end
> >
> > def process_context(id)
> >
> > do_stuff()
> >
> > end
> >
> > end
> >
> > How do I clean up after process_context().
> >
>
> You can still call, 'exit' at the end of worker to finish up execution
> of task.
>
> And what you mean by 'cleanup' actually? RMagick is one heck of a
> library to work with, but if it works at irb prompt, should work in
> BackgrounDRb worker too. Send us the worker code, and we will see whats
> going wrong.
>
>
>
--
Mike Bukhin
Interactive Telecommunications Program - '07
_______________________________________________
Backgroundrb-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/backgroundrb-devel