From ca55cab671909458e6d48be6e3d855bc90fd4b61 Mon Sep 17 00:00:00 2001 From: John Chilton Date: Thu, 4 Apr 2019 16:06:32 -0400 Subject: [PATCH] Fix PulsarMQRunner shutdown. --- lib/galaxy/jobs/runners/pulsar.py | 2 ++ lib/galaxy/util/monitors.py | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/galaxy/jobs/runners/pulsar.py b/lib/galaxy/jobs/runners/pulsar.py index 027e5036ecc..0ee2655a57e 100644 --- a/lib/galaxy/jobs/runners/pulsar.py +++ b/lib/galaxy/jobs/runners/pulsar.py @@ -752,6 +752,8 @@ class PulsarMQJobRunner(PulsarJobRunner): def _monitor(self): # This is a message queue driven runner, don't monitor # just setup required callback. + self._init_noop_monitor() + self.client_manager.ensure_has_status_update_callback(self.__async_update) self.client_manager.ensure_has_ack_consumers() diff --git a/lib/galaxy/util/monitors.py b/lib/galaxy/util/monitors.py index e1c53b3a92c..04a1f76359a 100644 --- a/lib/galaxy/util/monitors.py +++ b/lib/galaxy/util/monitors.py @@ -30,6 +30,10 @@ class Monitors(object): self._start = start register_postfork_function(self.start_monitoring) + def _init_noop_monitor(self): + self.sleeper = None + self.monitor_join = False + def start_monitoring(self): if self._start: self.monitor_thread.start() @@ -42,7 +46,8 @@ class Monitors(object): def shutdown_monitor(self): self.stop_monitoring() - self.sleeper.wake() + if self.sleeper is not None: + self.sleeper.wake() if self.monitor_join: log.debug("Joining monitor thread") self.monitor_thread.join(self.monitor_join_sleep)