It should be possible to repeat a run with a minimum of effort
Frequently DAQ users will want to repeat a run- for testing purposes, etc. It's possible to do this with DAQInterface's just_do_it.sh script, but it requires a bit of work: the user needs to go into the run records to get a hold of the boot file and to look in the metadata.txt to figure out which configuration and components were used before calling just_do_it.sh. This process should be simplified.
#1 Updated by John Freeman about 2 years ago
- % Done changed from 0 to 80
With commit 40e6f22f35069ed29254fa66eeee1d8a53ca21a2 on DAQInterface's develop branch, the script "just_repeat_run.sh" has been added. Calling it's simple:
just_repeat_run.sh <run number to repeat> <seconds to run>
just_repeat_run.sh will do what's described in my description of the issue, and includes the expected error checking (such as whether or not the setup script listed in the boot file still exists).
One thing worth thinking about would be to add a --strict option, where the script would refuse to proceed / issue a warning if it found that the code had changed based on the versions/commit hashes saved in the run-to-be-replicated's metadata.txt file.
#3 Updated by John Freeman almost 2 years ago
- Category set to artdaq-daqinterface
- Status changed from Work in progress to Resolved
- % Done changed from 80 to 100
just_repeat_run.sh so that it will look at the metadata.txt file of the run that's intended to be repeated, and for those packages whose versions or git commit hashes were saved, if it determines that the code has been changed since the run-to-repeat was performed, it will refuse to execute. This looks something like the following:
Will look in record directory "/home/jcfree/run_records" for run 1458 Commit hash for artdaq package is different between that used for run 1458 and the current git repo, /home/jcfree/artdaq-demo_sep27_2018/srcs/artdaq: Run 1458: ef83d9db44f700ab109f376bc0f04f884677219b "This is just to get another commit hash in place " Current repo: a722069d6e52676822f0090eb939c50618d352ef Add librt to link list Version of boost package is different between that used for run 1458 and the version currently setup by the setup script /home/jcfree/artdaq-demo_sep27_2018/setupARTDAQDEMO: Run 1458: v1_66_0thisissomethingImanuallyadded Current version: v1_66_0 Since the code in the installation area which was used for run 1458 appears to have changed (details above), this attempt to repeat run 1458 will not proceed. To override this refusal because the change in code is irrelevant to your reasons for repeating run 1458, re-run the command with the --nostrict option added at the end.
In order to override this behavior, the user can add the "
--nostrict" option to the just_repeat_run.sh argument list, e.g., to repeat run 1458 without regard to changed code, and to run it for 10 seconds, one would do:
just_repeat_run.sh 1458 10 --nostrict