Re: forkoff - parallel processing for ruby enumerables

I had some issues using active record objects inside the code block. It
seems that activerecord does not allow concurrency by default, and I
ended
up with “MySQL server has gone away” messages as a result.

I found a couple of possible fixes here
http://www.ruby-forum.com/topic/123472, and am not sure which one is
best to
use.

The first is just to add “ActiveRecord::Base.allow_concurrency = true”
which
seems to work fine for me and is certainly the simplest.

The other is to “ActiveRecord::Base.remove_connection” before forkoff!
then
“ActiveRecord::Base.establish_connection(dbconfig)” first thing in the
code
block, then “ActiveRecord::Base.establish_connection(dbconfig)” after
forkoff.

If the second method is better then it would probably be best added to
the
gem. Any advice?

On Apr 21, 2008, at 2:39 PM, Brandon H. wrote:

The other is to “ActiveRecord::Base.remove_connection” before
forkoff! then
“ActiveRecord::Base.establish_connection(dbconfig)” first thing in
the code
block, then “ActiveRecord::Base.establish_connection(dbconfig)” after
forkoff.

If the second method is better then it would probably be best added
to the
gem. Any advice?

this is purely an active record issue - nothing to do with forkoff.
the ar code doesn’t carry itself across a fork - there are a few
patches out there that fix this - one by a guy in denver - can’t
recall his name - anyone?

a @ http://codeforpeople.com/

Check out the code for spawn, the guys have fixed this