From e6e514ec2a876e00c2a7716a5a9311d36aedd962 Mon Sep 17 00:00:00 2001 From: appleb_m Date: Mon, 27 Apr 2026 11:53:33 +0200 Subject: [PATCH] JFJOCH: added retry to get_diffraction_image with wait_between_retries_s default of 0.1 s --- src/aare/devices/jfjoch.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/aare/devices/jfjoch.py b/src/aare/devices/jfjoch.py index e0671e8b..c581898b 100644 --- a/src/aare/devices/jfjoch.py +++ b/src/aare/devices/jfjoch.py @@ -1,4 +1,5 @@ import math +import time import jfjoch_client @@ -190,5 +191,12 @@ class JFJochWrapper: return l.detectors[l.current_id] - def get_diffraction_image(self, image_id: int): - return self.__api.image_buffer_image_jpeg_get(id=image_id, show_spots=False) \ No newline at end of file + def get_diffraction_image(self, image_id: int, wait_between_retries_s: float = 0.1): + last_error = None + for _ in range(3): + try: + return self.__api.image_buffer_image_jpeg_get(id=image_id, show_spots=False) + except Exception as e: + last_error = e + time.sleep(wait_between_retries_s) + raise last_error \ No newline at end of file