Ensure command_socket is last thing to close
This updates all services to how zuul-scheduler works, we close the command_socket at the last possible moment. This also means we can now use the command socket on the filesystem as an idicator that zuul properly shutdown. Change-Id: I5fe1bc96c87e1177a2b94d73a9cbe505a7807202 Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This commit is contained in:
parent
8f4f827ed3
commit
47aa6b12b2
|
@ -2313,7 +2313,6 @@ class ExecutorServer(object):
|
||||||
self._running = False
|
self._running = False
|
||||||
self._command_running = False
|
self._command_running = False
|
||||||
workers = list(self.job_workers.values())
|
workers = list(self.job_workers.values())
|
||||||
self.command_socket.stop()
|
|
||||||
|
|
||||||
for job_worker in workers:
|
for job_worker in workers:
|
||||||
try:
|
try:
|
||||||
|
@ -2344,6 +2343,7 @@ class ExecutorServer(object):
|
||||||
self.statsd.gauge(base_key + '.pct_used_ram', 0)
|
self.statsd.gauge(base_key + '.pct_used_ram', 0)
|
||||||
self.statsd.gauge(base_key + '.running_builds', 0)
|
self.statsd.gauge(base_key + '.running_builds', 0)
|
||||||
|
|
||||||
|
self.command_socket.stop()
|
||||||
self.log.debug("Stopped")
|
self.log.debug("Stopped")
|
||||||
|
|
||||||
def join(self):
|
def join(self):
|
||||||
|
|
|
@ -184,13 +184,6 @@ class FingerGateway(object):
|
||||||
self.log.info("Finger gateway is started")
|
self.log.info("Finger gateway is started")
|
||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
if self.command_socket:
|
|
||||||
self.command_running = False
|
|
||||||
try:
|
|
||||||
self.command_socket.stop()
|
|
||||||
except Exception:
|
|
||||||
self.log.exception("Error stopping command socket:")
|
|
||||||
|
|
||||||
if self.server:
|
if self.server:
|
||||||
try:
|
try:
|
||||||
self.server.shutdown()
|
self.server.shutdown()
|
||||||
|
@ -206,6 +199,14 @@ class FingerGateway(object):
|
||||||
except Exception:
|
except Exception:
|
||||||
self.log.exception("Error stopping RCP client:")
|
self.log.exception("Error stopping RCP client:")
|
||||||
|
|
||||||
|
if self.command_socket:
|
||||||
|
self.command_running = False
|
||||||
|
|
||||||
|
try:
|
||||||
|
self.command_socket.stop()
|
||||||
|
except Exception:
|
||||||
|
self.log.exception("Error stopping command socket:")
|
||||||
|
|
||||||
self.log.info("Finger gateway is stopped")
|
self.log.info("Finger gateway is stopped")
|
||||||
|
|
||||||
def wait(self):
|
def wait(self):
|
||||||
|
|
|
@ -87,8 +87,8 @@ class MergeServer(object):
|
||||||
self.log.debug("Stopping")
|
self.log.debug("Stopping")
|
||||||
self._running = False
|
self._running = False
|
||||||
self._command_running = False
|
self._command_running = False
|
||||||
self.command_socket.stop()
|
|
||||||
self.worker.shutdown()
|
self.worker.shutdown()
|
||||||
|
self.command_socket.stop()
|
||||||
self.log.debug("Stopped")
|
self.log.debug("Stopped")
|
||||||
|
|
||||||
def join(self):
|
def join(self):
|
||||||
|
|
Loading…
Reference in New Issue