From cdb8b53489ee794fd950a4bf17277ffa02ba3157 Mon Sep 17 00:00:00 2001 From: Sven Augustin Date: Wed, 27 Aug 2025 12:27:03 +0200 Subject: [PATCH] added timeout --- slic/core/acquisition/broker/brokerclient.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/slic/core/acquisition/broker/brokerclient.py b/slic/core/acquisition/broker/brokerclient.py index dcf38ebc..5847e064 100644 --- a/slic/core/acquisition/broker/brokerclient.py +++ b/slic/core/acquisition/broker/brokerclient.py @@ -1,4 +1,4 @@ -from time import sleep +from time import sleep, time from slic.utils import forwards_to, xrange, tqdm_mod#, tqdm_sleep @@ -152,7 +152,7 @@ class BrokerClient: take_pedestal(self.restapi, self.config, detectors=detectors, rate=rate, pedestalmode=pedestalmode) - def power_on(self, detectors=None, wait=False, wait_time=0.1, **kwargs): + def power_on(self, detectors=None, wait=False, wait_time=0.1, timeout=300, **kwargs): if detectors is None: detectors = self.config.detectors @@ -169,6 +169,9 @@ class BrokerClient: detector = list(detectors.keys())[0] #TODO + start_time = time() + stop_time = start_time + timeout + while True: status = self.restapi.get_detector_status(detector) @@ -179,6 +182,10 @@ class BrokerClient: if running: break + if time() > stop_time: + print("waiting for running status timed out") + break + sleep(wait_time)