diff options
author | Zuul <zuul@review.openstack.org> | 2018-01-16 23:58:42 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2018-01-16 23:58:43 +0000 |
commit | e2c4263d6f9073e263d765ed7eee681311b9bc54 (patch) | |
tree | 795e1712e5279e45138dab79231fdb7aa04dd235 | |
parent | de8d19a96a6646d3d0531f45a09ea8cd9da6a1ab (diff) | |
parent | fd7101b3b5065d009d3241470fca7069f6ec52f6 (diff) | |
download | zuul-e2c4263d6f9073e263d765ed7eee681311b9bc54.tar.gz |
Merge "Handle sigterm in nodaemon mode" into feature/zuulv3
-rwxr-xr-x | zuul/cmd/executor.py | 7 | ||||
-rwxr-xr-x | zuul/cmd/merger.py | 7 | ||||
-rwxr-xr-x | zuul/cmd/scheduler.py | 7 |
3 files changed, 12 insertions, 9 deletions
diff --git a/zuul/cmd/executor.py b/zuul/cmd/executor.py index ad7aaa837..aa7a106b5 100755 --- a/zuul/cmd/executor.py +++ b/zuul/cmd/executor.py @@ -49,9 +49,10 @@ class Executor(zuul.cmd.ZuulDaemonApp): if self.args.command: self.args.nodaemon = True - def exit_handler(self): + def exit_handler(self, signum, frame): self.executor.stop() self.executor.join() + sys.exit(0) def start_log_streamer(self): pipe_read, pipe_write = os.pipe() @@ -111,13 +112,13 @@ class Executor(zuul.cmd.ZuulDaemonApp): signal.signal(signal.SIGUSR2, zuul.cmd.stack_dump_handler) if self.args.nodaemon: + signal.signal(signal.SIGTERM, self.exit_handler) while True: try: signal.pause() except KeyboardInterrupt: print("Ctrl + C: asking executor to exit nicely...\n") - self.exit_handler() - sys.exit(0) + self.exit_handler(signal.SIGINT, None) else: self.executor.join() diff --git a/zuul/cmd/merger.py b/zuul/cmd/merger.py index 7db1beeaf..2916a0b3c 100755 --- a/zuul/cmd/merger.py +++ b/zuul/cmd/merger.py @@ -42,9 +42,10 @@ class Merger(zuul.cmd.ZuulDaemonApp): if self.args.command: self.args.nodaemon = True - def exit_handler(self): + def exit_handler(self, signum, frame): self.merger.stop() self.merger.join() + sys.exit(0) def run(self): # See comment at top of file about zuul imports @@ -64,13 +65,13 @@ class Merger(zuul.cmd.ZuulDaemonApp): signal.signal(signal.SIGUSR2, zuul.cmd.stack_dump_handler) if self.args.nodaemon: + signal.signal(signal.SIGTERM, self.exit_handler) while True: try: signal.pause() except KeyboardInterrupt: print("Ctrl + C: asking merger to exit nicely...\n") - self.exit_handler() - sys.exit(0) + self.exit_handler(signal.SIGINT, None) else: self.merger.join() diff --git a/zuul/cmd/scheduler.py b/zuul/cmd/scheduler.py index 7722d6e9c..c3bfa5d86 100755 --- a/zuul/cmd/scheduler.py +++ b/zuul/cmd/scheduler.py @@ -61,10 +61,11 @@ class Scheduler(zuul.cmd.ZuulDaemonApp): self.log.exception("Reconfiguration failed:") signal.signal(signal.SIGHUP, self.reconfigure_handler) - def exit_handler(self): + def exit_handler(self, signum, frame): self.sched.exit() self.sched.join() self.stop_gear_server() + sys.exit(0) def term_handler(self, signum, frame): self.stop_gear_server() @@ -180,13 +181,13 @@ class Scheduler(zuul.cmd.ZuulDaemonApp): signal.signal(signal.SIGHUP, self.reconfigure_handler) if self.args.nodaemon: + signal.signal(signal.SIGTERM, self.exit_handler) while True: try: signal.pause() except KeyboardInterrupt: print("Ctrl + C: asking scheduler to exit nicely...\n") - self.exit_handler() - sys.exit(0) + self.exit_handler(signal.SIGINT, None) else: self.sched.join() |