Runner
The repository holds code and impressions — so why bother with an external runner? Because impressions should run flexibly: part of the work on your PC, part on HTCondor, and so on. And a running workflow should never block your development.

Three types of runner
- REANA runner — the most robust one; runs in containerized environments.
- Local runner — runs things on the machine that Yuki runs on.
- ssh runner — jobs are submitted to an ssh machine.
The latter two offer less reproducibility than containerized REANA execution.
How a runner works
- Resolve the dependencies.
- Copy the predecessors (code, plus the
stageoutfolders of preceding nodes). - Run the command in the requested environment.
- Retrieve the outputs (via Yuki).
Multiple tasks can be submitted with one action — e.g. running submit in a folder
executes it in all child nodes.