How to make macros and long scans robust against errors
A number of beamlines are losing hours of beamtime because overnight macros and long scans like timescan() or loopscan(), are not resistant against minor errors e.g. a timeout, and are crashing at night. I understand that some errors can be fatal and cannot be ignored but there are many others which could be ignored. It must be possible to choose how to treat errors.
How to make overnight macros continue running when an error occurs? Can we provide examples of how to treat errors so that macros and scans can be written to be robust against certain errors. We cannot expect users to be present at the beamline 24 hours just in case a scan crashes due to a timeout or other error which could have been ignored without impacting the measurement much.