Package buildbot :: Module scheduler :: Class Scheduler
[frames | no frames]

Class Scheduler

ComparableMixin --+        
                  |        
    Service --+   |        
              |   |        
   MultiService --+        
                  |        
      BaseScheduler --+    
                      |    
  BaseUpstreamScheduler --+
                          |
                         Scheduler


The default Scheduler class will run a build after some period of time called the treeStableTimer, on a given set of Builders. It only pays attention to a single branch. You you can provide a fileIsImportant function which will evaluate each Change to decide whether or not it should trigger a new build.
Method Summary
  __init__(self, name, branch, treeStableTimer, builderNames, fileIsImportant, properties)
  addChange(self, change)
  addImportantChange(self, change)
  addUnimportantChange(self, change)
  fireTimer(self)
  getPendingBuildTimes(self)
  listBuilderNames(self)
  setTimer(self, when)
  stopService(self)
  stopTimer(self)
    Inherited from BaseUpstreamScheduler
  buildSetFinished(self, bss)
  submitBuildSet(self, bs)
  subscribeToSuccessfulBuilds(self, watcher)
  unsubscribeToSuccessfulBuilds(self, watcher)
    Inherited from BaseScheduler
  __repr__(self)
    Inherited from MultiService
  __iter__(self)
  addService(self, service)
  getServiceNamed(self, name)
  privilegedStartService(self)
  removeService(self, service)
  startService(self)
    Inherited from Service
  __getstate__(self)
  disownServiceParent(self)
  setName(self, name)
  setServiceParent(self, parent)
    Inherited from ComparableMixin
  __cmp__(self, them)
  __hash__(self)

Instance Variable Summary
    Inherited from BaseScheduler
  name: name of the scheduler
Properties object properties: additional properties specified in this scheduler's configuration

Class Variable Summary
tuple compare_attrs = ('name', 'treeStableTimer', 'builderName...
NoneType fileIsImportant = None                                                                  
    Inherited from BaseUpstreamScheduler
Implements __implemented__ = <implementedBy buildbot.scheduler.Base...
ClassProvides __provides__ = <zope.interface.declarations.ClassProvide...
    Inherited from MultiService
_implementsTuple __implements__ = (<MetaInterface twisted.application.ser...
    Inherited from Service
ClassProvides __providedBy__ = <zope.interface.declarations.ClassProvi...
NoneType parent = None                                                                  
int running = 0                                                                     

Method Details

__init__(self, name, branch, treeStableTimer, builderNames, fileIsImportant=None, properties={})
(Constructor)

Parameters:
name - the name of this Scheduler
branch - The branch name that the Scheduler should pay attention to. Any Change that is not on this branch will be ignored. It can be set to None to only pay attention to the default branch.
treeStableTimer - the duration, in seconds, for which the tree must remain unchanged before a build will be triggered. This is intended to avoid builds of partially-committed fixes.
builderNames - a list of Builder names. When this Scheduler decides to start a set of builds, they will be run on the Builders named by this list.
fileIsImportant - A callable which takes one argument (a Change instance) and returns True if the change is worth building, and False if it is not. Unimportant Changes are accumulated until the build is triggered by an important change. The default value of None means that all Changes are important.
properties - properties to apply to all builds started from this scheduler
Overrides:
buildbot.scheduler.BaseUpstreamScheduler.__init__

Class Variable Details

compare_attrs

Type:
tuple
Value:
('name',
 'treeStableTimer',
 'builderNames',
 'branch',
 'fileIsImportant',
 'properties')                                                         

fileIsImportant

Type:
NoneType
Value:
None                                                                  

Generated by Epydoc 2.1 on Tue Sep 16 09:15:59 2008 http://epydoc.sf.net