Allow the individual build manager types to specify how long the queue should wait before retring a job that fails to schedule.
This commit is contained in:
parent
a99414b222
commit
d31e25d5cd
4 changed files with 28 additions and 19 deletions
|
@ -172,13 +172,13 @@ class BuilderServer(object):
|
|||
logger.debug('Build job found. Checking for an avaliable worker.')
|
||||
|
||||
try:
|
||||
scheduled = yield From(self._lifecycle_manager.schedule(build_job))
|
||||
schedule_success, retry_timeout = yield From(self._lifecycle_manager.schedule(build_job))
|
||||
except:
|
||||
logger.exception('Exception when scheduling job')
|
||||
self._current_status = BuildServerStatus.EXCEPTION
|
||||
return
|
||||
|
||||
if scheduled:
|
||||
if schedule_success:
|
||||
logger.debug('Marking build %s as scheduled', build_job.repo_build.uuid)
|
||||
status_handler = StatusHandler(self._build_logs, build_job.repo_build.uuid)
|
||||
status_handler.set_phase('build-scheduled')
|
||||
|
@ -188,7 +188,7 @@ class BuilderServer(object):
|
|||
self._job_count)
|
||||
else:
|
||||
logger.debug('All workers are busy. Requeuing.')
|
||||
self._queue.incomplete(job_item, restore_retry=True, retry_after=WORK_CHECK_TIMEOUT + 5)
|
||||
self._queue.incomplete(job_item, restore_retry=True, retry_after=retry_timeout)
|
||||
|
||||
@trollius.coroutine
|
||||
def _queue_metrics_updater(self):
|
||||
|
|
Reference in a new issue