Skip to content

Commit e5757c7

Browse files
authored
Merge pull request #119 from ispielma/BlacsErrorRunPost
Blacs error during at end of shot processing
2 parents 82152f4 + 54b031a commit e5757c7

1 file changed

Lines changed: 9 additions & 7 deletions

File tree

blacs/experiment_queue.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -502,6 +502,13 @@ def transition_device_to_buffered(self, name, transition_list, h5file, restart_r
502502
@inmain_decorator(wait_for_return=True)
503503
def get_device_error_state(self,name,device_list):
504504
return device_list[name].error_message
505+
506+
def _abort_buffered_devices(self, devices_in_use, restart_function):
507+
self.current_queue = queue.Queue()
508+
for devicename, tab in devices_in_use.items():
509+
if tab.mode == MODE_BUFFERED or tab.mode == MODE_TRANSITION_TO_BUFFERED:
510+
tab.abort_buffered(self.current_queue)
511+
inmain(tab.disconnect_restart_receiver, restart_function)
505512

506513

507514
def manage(self):
@@ -816,12 +823,7 @@ def restart_function(device_name):
816823
self.prepend(path)
817824

818825
# Need to put devices back in manual mode
819-
self.current_queue = queue.Queue()
820-
for devicename, tab in devices_in_use.items():
821-
if tab.mode == MODE_BUFFERED or tab.mode == MODE_TRANSITION_TO_BUFFERED:
822-
tab.abort_buffered(self.current_queue)
823-
# disconnect restart signal from tabs
824-
inmain(tab.disconnect_restart_receiver,restart_function)
826+
self._abort_buffered_devices(devices_in_use, restart_function)
825827
self.set_status("Error in queue manager\nQueue paused")
826828

827829
# disconnect and disable abort button
@@ -916,6 +918,7 @@ def restart_function(device_name):
916918
error_condition = True
917919
logger.exception("Error in queue manager execution. Queue paused.")
918920
self.set_status("Error in queue manager\nQueue paused")
921+
self._abort_buffered_devices(devices_in_use, restart_function)
919922

920923
# Raise the error in a thread for visibility
921924
zprocess.raise_exception_in_thread(sys.exc_info())
@@ -997,4 +1000,3 @@ def restart_function(device_name):
9971000

9981001
self.set_status("Idle")
9991002
logger.info('Stopping')
1000-

0 commit comments

Comments
 (0)