[Buildbot-devel] Locking until buildbot idle?

Geoff Wedig 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.
> Axel
> 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 
>> see.
>> 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.
>> http://sourceforge.net/powerbar/db2/
>> _______________________________________________
>> Buildbot-devel mailing list
>> Buildbot-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/buildbot-devel

Geoff Wedig
Software Engineer
Digital Domain

More information about the devel mailing list