On 09/22/11 - 01:01:06PM, Ian Main wrote:
From: Chris Lalancette <clalance(a)redhat.com>
I modified Chris' patch to use a thread instead of fork. This pushes
the communications with deltacloud into a thread which can take as long
as it needs to complete the start.
In the future we may want to put a retry in here too.
You will notice in V2 we now set allow_concurrency = true in the
postgres config. I'm a little worried that this means it may not work
with other DB providers.
V4: Fix whitespace errors
So I tested this out a bit, and it is *mostly* working. No more weird errors,
no more deadlocks, no more hacking the activerecord source. I launched a
16 instance deployable with this in place, and it seemed to do the job.
I did hit one snag. When I launched an 8 instance deployable, all 8 jobs got
launched in the backend. And 7 of the 8 jobs properly updated the database
state to "pending". But one job did not, and got stuck in "new".
I'm not sure
what that means, but it probably bears investigating.
--
Chris Lalancette