From a7bc8d8aca0b51d3787b731a16284ed9cf554f14 Mon Sep 17 00:00:00 2001 From: Klaus Wakonig Date: Mon, 4 Jul 2022 13:22:44 +0200 Subject: [PATCH] scan assembler raises scanabort if cls init fails --- scan_server/scan_server/scan_assembler.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/scan_server/scan_server/scan_assembler.py b/scan_server/scan_server/scan_assembler.py index 00389dcd..73814888 100644 --- a/scan_server/scan_server/scan_assembler.py +++ b/scan_server/scan_server/scan_assembler.py @@ -1,6 +1,6 @@ from bec_utils import BECMessage, bec_logger -import scan_server.scans as ScanServerScans +from .scan_worker import ScanAbortion logger = bec_logger.logger @@ -24,9 +24,13 @@ class ScanAssembler: scan_cls = self.scan_manager.scan_dict[cls_name] logger.info(f"Preparing instructions of request of type {scan} / {scan_cls.__name__}") - - return scan_cls( - device_manager=self.device_manager, - parameter=msg.content.get("parameter"), - metadata=msg.metadata, - ) + try: + scan_instance = scan_cls( + device_manager=self.device_manager, + parameter=msg.content.get("parameter"), + metadata=msg.metadata, + ) + return scan_instance + except Exception as exc: + logger.error(f"Failed to initialize the scan class of type {scan_cls.__name__}") + raise ScanAbortion from exc