feat(widgets/stop_button): General stop button added
Description
Big red button which stops any running scan.
Related Issues
closes #222 (closed)
Type of Change
- New red button to stop scans
Potential side effects
Scary message pops up in BEC IPython client if scan was launched from there:
BEC alarm:: An alarm has occured. Severity: MAJOR. Source: {'ScanWorker': '_process_instructions'}.
ScanAbortion.
Traceback (most recent call last):
File "/Users/janwyzula/PSI/bec/bec_server/bec_server/scan_server/scan_worker.py", line 748, in _process_instructions
self._check_for_interruption()
File "/Users/janwyzula/PSI/bec/bec_server/bec_server/scan_server/scan_worker.py", line 645, in _check_for_interruption
raise ScanAbortion
bec_server.scan_server.errors.ScanAbortion
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/janwyzula/PSI/bec/bec_server/bec_server/scan_server/scan_worker.py", line 765, in _process_instructions
self._instruction_step(instr)
File "/Users/janwyzula/PSI/bec/bec_server/bec_server/scan_server/scan_worker.py", line 823, in _instruction_step
self.wait_for_devices(instr)
File "/Users/janwyzula/PSI/bec/bec_server/bec_server/scan_server/scan_worker.py", line 129, in wait_for_devices
self._wait_for_idle(instr)
File "/Users/janwyzula/PSI/bec/bec_server/bec_server/scan_server/scan_worker.py", line 513, in _wait_for_idle
while not self.validate.devices_are_ready(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/janwyzula/PSI/bec/bec_server/bec_server/scan_server/device_validation.py", line 63, in devices_are_ready
self.worker._check_for_interruption()
File "/Users/janwyzula/PSI/bec/bec_server/bec_server/scan_server/scan_worker.py", line 645, in _check_for_interruption
raise ScanAbortion
bec_server.scan_server.errors.ScanAbortion
Screenshots / GIFs (if applicable)
[Include any relevant screenshots or GIFs to showcase the changes made.]
Additional Comments
Function used:
def stop_scan(self):
"""Stop the scan."""
self.queue.request_scan_abortion()
self.queue.request_queue_reset()
Definition of Done
-
Documentation is up-to-date. -
unit tests
Edited by wyzula_j