NAME
NBI::Pipeline - Ordered list of NBI::Job objects with dependency wiring
VERSION
version 0.19.1
SYNOPSIS
use NBI::Pipeline;
my $pipeline = NBI::Pipeline->new(jobs => [$job1, $job2]);
# Wire job2 to run only after job1 succeeds
$job2->{_nbi_depends_on} = $job1;
my @ids = $pipeline->run(); # submits in order, injects afterok deps
$pipeline->print_summary();
NAME
NBI::Pipeline - Ordered list of NBI::Job objects with dependency wiring
METHODS
new(jobs => \@jobs)
Construct a pipeline. Each element must be an NBI::Job instance.
add_job($job)
Append a job to the pipeline.
run()
Submit all jobs in order. Returns a list of Slurm job IDs. Jobs with _nbi_depends_on set get an afterok dependency injected.
print_summary()
Print a human-readable dependency graph to STDOUT.
AUTHOR
Andrea Telatin <proch@cpan.org>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2023-2025 by Andrea Telatin.
This is free software, licensed under:
The MIT (X11) License