#!/usr/bin/env perl
use strict;
use BatchSystem::SBS::ScriptsCommon;
BatchSystem::SBS::ScriptsCommon::init();
use Getopt::Long;
my(@command, $chainCommands, $queue, $title, $onfinished);
if (!GetOptions(
"command=s"=>\@command,
"chain"=>\$chainCommands,
"onfinished=s"=>\$onfinished,
"queue=s"=>\$queue,
"title=s"=>\$title,
)
){
die;
}
die "must pass a --queue=queue_name argument" unless $queue;
die "must pass at least one --command=executabe argument" unless @command;
my @ids;
foreach(@command){
my $id;
if ($chainCommands && @ids){
$id=$sbs->job_submit(command=>$_, queue=>$queue, title=>$title, on_finished=>$ids[-1]);
print {*BatchSystem::SBS::STDLOG} info=> "chaining [$ids[-1]](on_finished)->[$id]";
}else{
$id=$sbs->job_submit(command=>$_, queue=>$queue, title=>$title, on_finished=>$onfinished);
}
push @ids, $id;
}
$sbs->scheduler->scheduling_update();
print {*BatchSystem::SBS::STDLOG} info=> "submited job(s) [@ids]\n";
print "$_\n" foreach (@ids);