Browse Source

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>
changes/95/628995/1
Paul Belanger 2 years ago
parent
commit
47aa6b12b2
3 changed files with 10 additions and 9 deletions
  1. +1
    -1
      zuul/executor/server.py
  2. +8
    -7
      zuul/lib/fingergw.py
  3. +1
    -1
      zuul/merger/server.py

+ 1
- 1
zuul/executor/server.py View File

@ -2313,7 +2313,6 @@ class ExecutorServer(object):
self._running = False
self._command_running = False
workers = list(self.job_workers.values())
self.command_socket.stop()
for job_worker in workers:
try:
@ -2344,6 +2343,7 @@ class ExecutorServer(object):
self.statsd.gauge(base_key + '.pct_used_ram', 0)
self.statsd.gauge(base_key + '.running_builds', 0)
self.command_socket.stop()
self.log.debug("Stopped")
def join(self):


+ 8
- 7
zuul/lib/fingergw.py View File

@ -184,13 +184,6 @@ class FingerGateway(object):
self.log.info("Finger gateway is started")
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:
try:
self.server.shutdown()
@ -206,6 +199,14 @@ class FingerGateway(object):
except Exception:
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")
def wait(self):


+ 1
- 1
zuul/merger/server.py View File

@ -87,8 +87,8 @@ class MergeServer(object):
self.log.debug("Stopping")
self._running = False
self._command_running = False
self.command_socket.stop()
self.worker.shutdown()
self.command_socket.stop()
self.log.debug("Stopped")
def join(self):


Loading…
Cancel
Save