Merge "Defer setting build pause to event queue"
This commit is contained in:
commit
6098cb066c
|
@ -488,11 +488,9 @@ class ExecutorClient(object):
|
||||||
build.worker.updateFromData(data)
|
build.worker.updateFromData(data)
|
||||||
build.__gearman_worker = build.worker.name
|
build.__gearman_worker = build.worker.name
|
||||||
|
|
||||||
if 'paused' in data and build.paused != data['paused']:
|
if 'paused' in data:
|
||||||
build.paused = data['paused']
|
result_data = data.get('data', {})
|
||||||
if build.paused:
|
self.sched.onBuildPaused(build, result_data)
|
||||||
result_data = data.get('data', {})
|
|
||||||
self.sched.onBuildPaused(build, result_data)
|
|
||||||
|
|
||||||
if not started:
|
if not started:
|
||||||
self.log.info("Build %s started" % job)
|
self.log.info("Build %s started" % job)
|
||||||
|
|
|
@ -1445,6 +1445,11 @@ class Scheduler(threading.Thread):
|
||||||
|
|
||||||
def _doBuildPausedEvent(self, event):
|
def _doBuildPausedEvent(self, event):
|
||||||
build = event.build
|
build = event.build
|
||||||
|
|
||||||
|
# Setting paused is deferred to event processing stage to avoid a race
|
||||||
|
# with child job skipping.
|
||||||
|
build.paused = True
|
||||||
|
|
||||||
log = get_annotated_logger(self.log, build.zuul_event_id)
|
log = get_annotated_logger(self.log, build.zuul_event_id)
|
||||||
if build.build_set is not build.build_set.item.current_build_set:
|
if build.build_set is not build.build_set.item.current_build_set:
|
||||||
log.warning("Build %s is not in the current build set", build)
|
log.warning("Build %s is not in the current build set", build)
|
||||||
|
|
Loading…
Reference in New Issue