minibutler
Minibutler is looking for new SwissFEL data and submits analysis jobs to SLURM. This is the little prototype brother of apocalypse, which will replace it later with merged functionality.
Usage
After installation (e.g. pip install git+https://gitea.psi.ch/Cristallina/minibutler.git) we can start minibutler with a given directory to watch for new runs:
minibutler --watch-path /sf/cristallina/data/p19150/raw
This requires that there is a process_run.py script that takes the given run number as a parameter. By default minibutler looks for this script in <pgroup>/work/code/pgroup_module/batch_tooling/ but any other location can be supplied as an argument.
Logging
The butler logs the state into two logs in <pgroup>/work/logs/butler/butler.
Commands
We can trigger the reprocessing with the current set of functions via a named pipe. For example to reprocess run 112 write into the pipe the run number, e.g. echo "process 112" > command_pipe. The pipe is located in <pgroup>/work/logs/butler. It accepts the following set of commands:
pause: temporarily pauses the butlerresume: resumes the butlerstop: stops the butler processprocess xxx: processes the run with the run number xxx.