art-daq / artdaq_daqinterface

Other
0 stars 1 forks source link

DAQInterface should be able to resurrect an artdaq process #19

Closed eflumerf closed 1 day ago

eflumerf commented 2 years ago

This issue has been migrated from https://cdcvs.fnal.gov/redmine/issues/23760 (FNAL account required) Originally created by @jcfreeman2 on 2019-12-12 21:10:51


In light of the fact that DUNE is intended to have very low deadtime, if an artdaq process DAQInterface controls dies or enters the error state while running, DAQInterface should be able to relaunch a process of the same type and put it through transitions to bring it into the running state. Even if it's not currently the case that a resurrected process will seamlessly integrate into a running system, this DAQInterface feature will prove valuable when it comes to modifying artdaq processes so that they will support this functionality in the future.

eflumerf commented 2 years ago

Comment by @jcfreeman2 on 2019-12-17 16:32:24


Resolved with commit e2fe23ca71def385a2974305853f967209fd3f06 at the head of feature/23760_resurrect_processes. To test this, you want to add the line

shepherd_bad_processes: true

to the $DAQINTERFACE_SETTINGS file and use $DAQINTERFACE_PROCESS_MANAGEMENT_METHOD == "direct" before launching DAQInterface. Then if a process dies or goes into an Error state when DAQInterface is in the running state, it will relaunch the process and attempt to send it an "init" transition followed by a "start" transition. Note, of course, that there's zero guarantee that datataking will proceed smoothly if this happens, since there's currently no requirement that artdaq processes support this behavior. This feature will prove useful for testing artdaq process behavior when they're modified to support continuous running, however.