WIP: Get everything working except logging and job completion

This commit is contained in:
Joseph Schorr 2014-11-12 14:03:07 -05:00
parent eacf3f01d2
commit f93c0a46e8
6 changed files with 120 additions and 52 deletions

View file

@ -12,7 +12,7 @@ class BaseManager(object):
"""
raise NotImplementedError
def schedule(self, job_item):
def schedule(self, build_job):
""" Schedules a queue item to be built. Returns True if the item was properly scheduled
and False if all workers are busy.
"""
@ -29,7 +29,7 @@ class BaseManager(object):
"""
raise NotImplementedError
def job_completed(self, job_item, job_status, build_component):
def job_completed(self, build_job, job_status, build_component):
""" Method invoked once a job_item has completed, in some manner. The job_status will be
one of: incomplete, error, complete. If incomplete, the job should be requeued.
"""

View file

@ -43,13 +43,13 @@ class EnterpriseManager(BaseManager):
self.build_components.append(component)
return realm
def schedule(self, job_item):
def schedule(self, build_job, loop):
if self.shutting_down:
return False
for component in self.build_components:
if component.is_ready():
component.start_build(job_item)
loop.call_soon(component.start_build, build_job)
return True
return False
@ -57,8 +57,8 @@ class EnterpriseManager(BaseManager):
def shutdown(self):
self.shutting_down = True
def job_completed(self, job_item, job_status, build_component):
self.job_complete_callback(job_item, job_status)
def job_completed(self, build_job, job_status, build_component):
self.job_complete_callback(build_job, job_status)
def component_disposed(self, build_component, timed_out):
self.build_components.remove(build_component)