Make sure the build manager dies on an unhandled schedule exception
This commit is contained in:
parent
afe7e14254
commit
390f8df4ad
2 changed files with 4 additions and 1 deletions
|
@ -10,3 +10,4 @@ class BuildServerStatus(object):
|
||||||
STARTING = 'starting'
|
STARTING = 'starting'
|
||||||
RUNNING = 'running'
|
RUNNING = 'running'
|
||||||
SHUTDOWN = 'shutting_down'
|
SHUTDOWN = 'shutting_down'
|
||||||
|
EXCEPTION = 'exception'
|
||||||
|
|
|
@ -180,7 +180,8 @@ class BuilderServer(object):
|
||||||
scheduled = yield From(self._lifecycle_manager.schedule(build_job))
|
scheduled = yield From(self._lifecycle_manager.schedule(build_job))
|
||||||
except:
|
except:
|
||||||
logger.exception('Exception when scheduling job')
|
logger.exception('Exception when scheduling job')
|
||||||
scheduled = None
|
self._current_status = BuildServerStatus.EXCEPTION
|
||||||
|
return
|
||||||
|
|
||||||
if scheduled:
|
if scheduled:
|
||||||
status_handler = StatusHandler(self._build_logs, build_job.repo_build.uuid)
|
status_handler = StatusHandler(self._build_logs, build_job.repo_build.uuid)
|
||||||
|
@ -196,6 +197,7 @@ class BuilderServer(object):
|
||||||
def _queue_metrics_updater(self):
|
def _queue_metrics_updater(self):
|
||||||
while self._current_status == BuildServerStatus.RUNNING:
|
while self._current_status == BuildServerStatus.RUNNING:
|
||||||
yield From(trollius.sleep(30))
|
yield From(trollius.sleep(30))
|
||||||
|
logger.debug('Writing metrics')
|
||||||
self._queue.update_metrics()
|
self._queue.update_metrics()
|
||||||
|
|
||||||
@trollius.coroutine
|
@trollius.coroutine
|
||||||
|
|
Reference in a new issue