It should be possible to tell DAQInterface which artdaq processes are critical to a run, and which aren't
Right now, when we have the environment variable "DAQINTERFACE_PROCESS_MANAGEMENT_METHOD" set to "direct" rather than "pmt", when an artdaq process dies the only thing that happens is that DAQInterface prints a warning to the screen and continues on in the running state. However, one could imagine that some experiments may want a run to automatically end if a given process - e.g., a crucial boardreader - is lost. There should be some way of telling DAQInterface which processes, should they crash, should automatically cause an end of the run.
JCF: satisying Issue #21695, allow users to create a file listing the labels of processes critical to a run
If a file referred to by the optional
DAQINTERFACE_CRITICAL_PROCESSES_LIST variable exists when DAQInterface
is launched, and it contains a list of process labels, one per line,
then DAQInterface will end a run if any of those processes either (A)
dies or (B) enters an Error state during running.
#1 Updated by John Freeman 20 days ago
- % Done changed from 0 to 100
- Status changed from New to Resolved
With commit c1001a010442a3cd62cdf52d93ebe27999767023 on the develop branch, if the environment variable DAQINTERFACE_CRITICAL_PROCESSES_LIST is set to the name of a file (which exists!), DAQInterface will open that file and interpret the first token on each non-empty, uncommented (#) line as the label of a process which, if it dies or enters and Error state, should mean the run ends. Note that the converse is not necessarily true - i.e., if a process not on the list dies and but we're using pmt for process management, the run will end anyway.