[Buildbot-devel] Scheduler maintenance windows?
slamb at slamb.org
Wed Apr 26 06:43:27 UTC 2006
On Apr 25, 2006, at 7:10 PM, Brian Warner wrote:
> Yeah, I'd probably go with the custom Scheduler route. Something
> like this:
> class BlackoutWindowScheduler(scheduler.Scheduler):
> You'd probably want to parameterize the start and finish of the
> window, and make sure the window starts at least a checkout time
> before the
> actual Perforce lockout starts (so that you probably won't have a
> build still
> running when Perforce starts being uncooperative).
Right. It's actually worse than that for our real builds - they need
to do some Perforce trickery at the _end_ of the build, so they'll
need to stop well before the blackout period. They'll probably have
to be down like three and a half hours around every checkpoint.
(Maybe we'll have to start checkpointing once a week, at the expense
of larger journals. The idea makes me feel Subversive.)
> I suppose a cleaner way (from the point of view of the user, but not
> necessarily the implentor) to do this would be to have a new kind
> of Lock
> object, the TimeLock. You could create a TimeLock with a
> description of when
> it opens up (in this case, all day long except for the nightly
> window), and make the checkout step or perhaps the whole Build try
> to claim
> the lock. It wouldn't be quite the same as the regular SlaveLock and
> MasterLocks, because the timer wouldn't be allowed to "claim" the
> lock while
> a build is running, but otherwise the code would probably be pretty
> It would also be nice to have a way to display *why* a build was
> waiting for
> a lock, specifically which locks it was waiting for. The big yellow
> that shows up when a build has "started" but the first step hasn't
> allowed to commence is kind of ugly.
Yeah, that'd be nice.
Scott Lamb <http://www.slamb.org/>
More information about the devel