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,
:return: Calibration constant, metadata
"""
from iCalibrationDB import ConstantMetaData, Versions
import zmq
if device:
metadata = ConstantMetaData()
......@@ -477,33 +478,24 @@ def get_from_db(device, constant, condition, empty_constant,
metadata.detector_condition = condition
if creation_time is None:
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:
metadata.calibration_constant_version = Versions.Timespan(
device=device,
start=creation_time)
while ntries > 0:
this_interface = get_random_db_interface(cal_db_interface)
try:
metadata.retrieve(this_interface,
when=creation_time.isoformat(),
timeout=timeout, meta_only=meta_only)
break
except Exception as e:
if verbosity > 0:
print(e)
ntries -= 1
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 zmq.error.Again:
ntries -= 1
except Exception as e:
if verbosity > 0:
print(e)
ntries = 0
if ntries > 0:
if verbosity > 0:
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