mperham/girl_friday

Threads not being killed when using GirlFriday::Batch

Closed this issue · 9 comments

I've created a repo where this can be reproduced here:
https://github.com/fbjork/girl-friday-batch-example

run unicorn and point the browser to http://localhost:8080, then open Activity Monitor and watch the Thread column increase everytime you refresh the browser without decreasing.

Thanks, I've tracked down the issue (the actor threads are never actually exiting so they are never GC'd) and have a fix in testing. I expect this to make things a little more stable for you on Heroku. :-)

Nice one. Thanks for fixing!

Could this also be why the timeout isn't working for me in Batch?

This issue uncovered this Ruby bug:

http://redmine.ruby-lang.org/issues/5342

Can it be fixed without waiting for Ruby 1.9.3?

Maybe try monkey-patching Ruby's thread class until the fix is backported? I think something like this should work:

https://gist.github.com/1229959

It doesn't block the fix, just prevented the tests from working until I found a workaround. More tomorrow.

On Sep 20, 2011, at 8:35, Fredrik Björkreply@reply.github.com wrote:

Can it be fixed without waiting for Ruby 1.9.3?

Reply to this email directly or view it on GitHub:
#30 (comment)

Sweet! These commits should fix Threads not being killed and timeout not working in Batch, correct?

Yes, and should dramatically improve how well GF works on Heroku. Let
me know how it goes.

On Wed, Sep 21, 2011 at 5:02 PM, Fredrik Björk
reply@reply.github.com
wrote:

Sweet! These commits should fix Threads not being killed and timeout not working in Batch, correct?