bundle (Developer Reference)
Implementation
Python module:
zppy/bundle.pyJinja2 template:
zppy/templates/bundle.bash
The Bundle class in bundle.py collects tasks that share the same
bundle name. When handle_bundles() is called, it renders a single
SLURM script that runs all bundled tasks sequentially within one job.
A bundle is named by its [bundle] [[name]] subsection, and tasks
opt in by setting bundle = name. Bundle parameters (walltime, nodes,
etc.) are taken from the first task added or from the [bundle] section.
Dependencies
Bundles inherit the union of all their member tasks’ dependencies. The bundle job will not start until all upstream dependencies are satisfied for all bundled tasks.
Downstream:
Downstream tasks that depend on bundled tasks will list the bundle’s status file as a dependency.