-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Retry on epics failure for cryocard commands #792
Comments
Hi Jack, Also, looking at that code I'm not sure how it behaves if an epics timeout does occur... #need double write to make sure buffer is updated
self.writepv.put(cmd_make(1, address, 0))
for self.retry in range(0, self.max_retries):
self.writepv.put(cmd_make(1, address, 0))
data = self.readpv.get(use_monitor=use_monitor)
addrrb = cmd_address(data)
if (addrrb == address):
return (data)
return (0)
return (self.readpv.get(use_monitor=use_monitor)) My understanding is that a timeout would result in |
Ya I think that's what I determined as well looking at this closer... the retry is failing because |
One such failure is documented here: https://github.com/simonsobs/daq-discussions/discussions/91 |
Describe the problem
Commands to the cryocard sometimes return None, signaling an epics timeout occurred. Unlike epics cagets in the smurf_command module, the cyrocard
do_read
function has noretry_on_fail
, so if there is an epics failure, due to either hardware connection or server load, it will just return None instead of trying again.Describe the solution you'd like
It would be nice if we could have the option to retry_on_fail for cryocard commands.
The text was updated successfully, but these errors were encountered: