Skip to content

Output and State

Avoiding Repeats

Tasks can often be expensive, so we don’t want to repeat them if we don’t need to. That’s why every time we execute a task run, we first check if all the output files already exist in the outputs/ directory. If they do, that run gets skipped.

In the cases where output files are marked as optional, a special .none file will be checked instead. These files get created if a task run is successful, but an optional output file is not found.

Reports

As tasks are run, you can go into your working directory and find your status/report.html file. It will contain information on every task that was run, including whether it completed successfully, in error, or is still in progress.

Workflow Output Layout

Although each execution environment stores files differently, the way they layout outputs for the workflow is mostly the same.

The the top level in the working directory (provided in config) we have the following

  • outputs/ contains files created by our tasks.
  • run/ contains all files related to a single run.

Each output run directory looks like the following

  • bin/ contains the Krews workflow executable and configuration used for this run.
  • status/ contains an html report on the status of this run.
  • logs/ contains logs for each task and the Krews application itself, if run remotely in Google Cloud.