diff options
author | Tobias Henkel <tobias.henkel@bmw.de> | 2017-12-27 10:17:29 +0100 |
---|---|---|
committer | Tobias Henkel <tobias.henkel@bmw.de> | 2017-12-27 10:17:29 +0100 |
commit | 30cbb65b4315820b89333e3683e4c350ec173a81 (patch) | |
tree | 15e10a52a6582697b57e446477ff1cfc7e6f53d2 | |
parent | a56402e4d68d492098a58b6827f14b90d046c849 (diff) | |
download | zuul-30cbb65b4315820b89333e3683e4c350ec173a81.tar.gz |
Centrally register stack dump handler
We want the stack dump handler to be present in all zuul apps so this
can be registered in a central place.
Change-Id: I0c4a97d6ee983aa4d57928682dfb6eeffd050197
-rwxr-xr-x | zuul/cmd/__init__.py | 4 | ||||
-rwxr-xr-x | zuul/cmd/executor.py | 2 | ||||
-rwxr-xr-x | zuul/cmd/merger.py | 2 | ||||
-rwxr-xr-x | zuul/cmd/scheduler.py | 1 | ||||
-rwxr-xr-x | zuul/cmd/web.py | 2 |
5 files changed, 4 insertions, 7 deletions
diff --git a/zuul/cmd/__init__.py b/zuul/cmd/__init__.py index 236fd9f44..bdb93978f 100755 --- a/zuul/cmd/__init__.py +++ b/zuul/cmd/__init__.py @@ -176,6 +176,10 @@ class ZuulDaemonApp(ZuulApp): pid_fn = self.getPidFile() pid = pid_file_module.TimeoutPIDLockFile(pid_fn, 10) + # Early register the stack dump handler for all zuul apps. This makes + # it possible to also gather stack dumps during startup hangs. + signal.signal(signal.SIGUSR2, stack_dump_handler) + if self.args.nodaemon: self.run() else: diff --git a/zuul/cmd/executor.py b/zuul/cmd/executor.py index c82deb748..c600dc96d 100755 --- a/zuul/cmd/executor.py +++ b/zuul/cmd/executor.py @@ -130,8 +130,6 @@ class Executor(zuul.cmd.ZuulDaemonApp): log_streaming_port=self.finger_port) self.executor.start() - signal.signal(signal.SIGUSR2, zuul.cmd.stack_dump_handler) - if self.args.nodaemon: signal.signal(signal.SIGTERM, self.exit_handler) while True: diff --git a/zuul/cmd/merger.py b/zuul/cmd/merger.py index 2916a0b3c..8c4798923 100755 --- a/zuul/cmd/merger.py +++ b/zuul/cmd/merger.py @@ -62,8 +62,6 @@ class Merger(zuul.cmd.ZuulDaemonApp): self.connections) self.merger.start() - signal.signal(signal.SIGUSR2, zuul.cmd.stack_dump_handler) - if self.args.nodaemon: signal.signal(signal.SIGTERM, self.exit_handler) while True: diff --git a/zuul/cmd/scheduler.py b/zuul/cmd/scheduler.py index d94e9ea17..7748a80a7 100755 --- a/zuul/cmd/scheduler.py +++ b/zuul/cmd/scheduler.py @@ -123,7 +123,6 @@ class Scheduler(zuul.cmd.ZuulDaemonApp): import zuul.webapp import zuul.zk - signal.signal(signal.SIGUSR2, zuul.cmd.stack_dump_handler) if (self.config.has_option('gearman_server', 'start') and self.config.getboolean('gearman_server', 'start')): self.start_gear_server() diff --git a/zuul/cmd/web.py b/zuul/cmd/web.py index 4687de653..ad3062ff0 100755 --- a/zuul/cmd/web.py +++ b/zuul/cmd/web.py @@ -106,8 +106,6 @@ class WebServer(zuul.cmd.ZuulDaemonApp): self.configure_connections() - signal.signal(signal.SIGUSR2, zuul.cmd.stack_dump_handler) - try: self._run() except Exception: |