[Buildbot-devel] Locking until buildbot idle?
gwedig at d2.com
Fri May 11 00:00:01 UTC 2007
I actually decided to use master locks, just a lot of them. 1 per
builder, in fact. The 'only go when nothing building' builder has all
of them. So it won't go unless nothing else has a lock. It's a lot of
locks, and if that bites me later, I'll figure out another way, but
right now it seems to work.
Axel Hecht wrote:
> I have a scheduler that only submits a buildset when the previous
> buildset is completely done. I guess you could do something similar to
> trigger your build only when there are no buildsets pending or so.
> Depending on what you do, you'd need to subclass all schedulers to
> keep new buildsets coming in while your exclusive build is running.
> The essential trick was to overload buildSetFinished and fireTimer,
> and to block fireTimer until buildSetFinished is happy.
> The code is in-the-works, that is, I worked on it today to get it
> closer to something I can attach as a patch, probably on
> https://bugzilla.mozilla.org/show_bug.cgi?id=379990 at first.
> 2007/5/10, Geoff Wedig <gwedig at d2.com>:
>> I would like to add a build which only runs if nothing else is running
>> on any of the slaves. My original thought had been to use a lock on all
>> steps, but I'm not quite sure it's possible. I do not want the slaves
>> to prevent each other from running, just prevent this new builder, which
>> is not running on any of the build slaves.
>> Can anybody see a way to achieve this? Everything I have tried so far
>> is flawed. slave locks don't work, because the build in question
>> doesn't run on any particular slave, and master locks would prevent the
>> slaves from running simultaneously.
>> One thing I considered is having a separate master lock for each build
>> on each slave, then having this new build have all of those locks.
>> Unfortunately, some of our builds can run on multiple slaves. Those
>> slaves would still be locked between each other, and since the lock is
>> done at the build/step, there's no way of preventing that that I can
>> So, anyone have any brilliant ideas? on how I can solve this? I really
>> need something that will only execute when nothing else is going on.
>> Geoff Wedig
>> Software Engineer
>> Digital Domain
>> This SF.net email is sponsored by DB2 Express
>> Download DB2 Express C - the FREE version of DB2 express and take
>> control of your XML. No limits. Just data. Click to get it now.
>> Buildbot-devel mailing list
>> Buildbot-devel at lists.sourceforge.net
More information about the devel