[Buildbot-devel] Scheduler subclassing API

Dustin J. Mitchell dustin at v.igoro.us
Sun Jan 2 05:59:22 UTC 2011


If you're subclassing schedulers in a substantive way, and you're
using Buildbot-0.8.x, please let me know - with pointers to your code
if possible.

I'm struggling with rewriting schedulers to use SQLAlchemy.  The
interface is not well-defined now, and depends pretty intimately on
the ad-hoc database interface used in 0.8.0 - 0.8.3.  It's also
horrendously inefficient - for every change, every scheduler wakes up
and makes several expensive database queries, when in most cases the
majority of the schedulers could determine trivially from the
in-memory Change object that they are not interested, and the
remaining schedulers could probably figure out what to do with one or
zero queries.

I'm going to have to break all but the simplest subclasses.  However,
I'm not ready to define and commit to a subclassing API for schedulers
(that's a 0.10.x feature -
http://trac.buildbot.net/milestone/0.10.%2B), and I want to
incorporate a message-passing architecture into the API.  So if you
have a nontrivial Scheduler subclass, you'll probably need to rewrite
it twice.  I'd like to minimize that pain.  Let me see what your code
is and I'll try to design things to make it simple.

Dustin




More information about the devel mailing list