From c276e8920b74a1c4db9357a6d6e664c2e494ff48 Mon Sep 17 00:00:00 2001 From: Jan David Mol <mol@astron.nl> Date: Wed, 13 Oct 2021 20:00:06 +0200 Subject: [PATCH] L2SS-391: Obtain proxies in separate thread because it may stall --- devices/devices/boot.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/devices/devices/boot.py b/devices/devices/boot.py index 03969f9cf..5d9540aa5 100644 --- a/devices/devices/boot.py +++ b/devices/devices/boot.py @@ -60,6 +60,7 @@ class DevicesInitialiser(Thread): self.ignore_unavailable_devices = ignore_unavailable_devices self.device_names = device_names + self.proxy_timeout = proxy_timeout # setup initial state self.progress = 0 @@ -79,16 +80,19 @@ class DevicesInitialiser(Thread): self.devices[name] = DeviceProxy(name) # set the timeout for all proxies + self.set_status("Configuring DeviceProxies") for device in self.devices.values(): - device.set_timeout_millis(int(proxy_timeout * 1000)) - self.initialise_devices() + device.set_timeout_millis(int(self.proxy_timeout * 1000)) + + self.set_status("Initialisation started") + self.initialise_devices() self.set_status("Initialisation completed") except Exception as e: logger.exception("Failed to initialise station") # add the exception to the status - self.set_status(f"{self.status} [{e.__class__.__name__}: {str(e)}]") + self.set_status(f"ERROR: {self.status} [{e.__class__.__name__}: {str(e)}]") # we keep the status stuck at the last thing it tried -- GitLab