Skip to content
Snippets Groups Projects
Commit 86cd4352 authored by Mikhail Karnevskiy's avatar Mikhail Karnevskiy
Browse files

Merge branch 'fix/ntries_CalDB' into 'master'

Fix: Decrement nTryes only in case of zmq timeout

See merge request detectors/pycalibration!101
parents d492c9de eaf0b803
No related branches found
No related tags found
1 merge request!101Fix: Decrement nTryes only in case of zmq timeout
...@@ -470,6 +470,7 @@ def get_from_db(device, constant, condition, empty_constant, ...@@ -470,6 +470,7 @@ def get_from_db(device, constant, condition, empty_constant,
:return: Calibration constant, metadata :return: Calibration constant, metadata
""" """
from iCalibrationDB import ConstantMetaData, Versions from iCalibrationDB import ConstantMetaData, Versions
import zmq
if device: if device:
metadata = ConstantMetaData() metadata = ConstantMetaData()
...@@ -477,33 +478,24 @@ def get_from_db(device, constant, condition, empty_constant, ...@@ -477,33 +478,24 @@ def get_from_db(device, constant, condition, empty_constant,
metadata.detector_condition = condition metadata.detector_condition = condition
if creation_time is None: if creation_time is None:
metadata.calibration_constant_version = Versions.Now(device=device) metadata.calibration_constant_version = Versions.Now(device=device)
while ntries > 0:
this_interface = get_random_db_interface(cal_db_interface)
try:
metadata.retrieve(this_interface, timeout=timeout,
meta_only=meta_only)
break
except Exception as e:
if verbosity > 0:
print(e)
ntries -= 1
else: else:
metadata.calibration_constant_version = Versions.Timespan( metadata.calibration_constant_version = Versions.Timespan(
device=device, device=device,
start=creation_time) start=creation_time)
while ntries > 0: while ntries > 0:
this_interface = get_random_db_interface(cal_db_interface) this_interface = get_random_db_interface(cal_db_interface)
try: try:
metadata.retrieve(this_interface, metadata.retrieve(this_interface, timeout=timeout,
when=creation_time.isoformat(), meta_only=meta_only)
timeout=timeout, meta_only=meta_only) break
break except zmq.error.Again:
except Exception as e: ntries -= 1
if verbosity > 0: except Exception as e:
print(e) if verbosity > 0:
print(e)
ntries -= 1 ntries = 0
if ntries > 0: if ntries > 0:
if verbosity > 0: if verbosity > 0:
if constant.name not in already_printed or verbosity > 1: if constant.name not in already_printed or verbosity > 1:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment