From 66f49056f798deabadba3bade37aafb506eec211 Mon Sep 17 00:00:00 2001 From: Philipp Schmidt <philipp.schmidt@xfel.eu> Date: Mon, 12 Aug 2024 07:44:21 +0200 Subject: [PATCH] manager: Split concurrent instantation into correction devices and matchers --- src/calng/CalibrationManager.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/calng/CalibrationManager.py b/src/calng/CalibrationManager.py index 82eb74cd..359b89de 100644 --- a/src/calng/CalibrationManager.py +++ b/src/calng/CalibrationManager.py @@ -1354,6 +1354,14 @@ class CalibrationManager(DeviceClientBase, Device): config )) + # Perform instantation on correction devices first. + if not all(await gather(*awaitables)): + self._set_status('One or more correction devices failed to ' + 'instantiate') + return + + awaitables.clear() + # Instantiate group matchers with optional bridge enabled. for row in self.moduleGroups.value: group, server, with_bridge, bridge_port, bridge_pattern = row @@ -1402,9 +1410,10 @@ class CalibrationManager(DeviceClientBase, Device): config )) - # Perform instantation. + # Perform instantation on matcher-like devices second. if not all(await gather(*awaitables)): - self._set_status('One or more devices failed to instantiate') + self._set_status('One or more matcher devices failed to ' + 'instantiate') return # Force managed DAQ settings. -- GitLab