}
update_status($mach, '-', 'INIT', undef);
my $ping;
- for my $jid (@q) {
+ while (my $jid = shift @q) {
if (defined $given_job) {
$jid eq $given_job or next;
}
$queue->remove($mach, $jid);
} else {
print "--- $s: $msg\n";
+ if ($BEX::Config::skip_on_fail) {
+ print "### Skipping other jobs on the same host ###\n" if @q;
+ last;
+ }
}
}
update_status($mach, '-', 'DONE', undef);
# Maximum number of simultaneously running jobs in `bprun'
our $max_parallel_jobs = 5;
+# When a job fails, skip all other jobs on the same host
+# (however, when locking_scheme is set to `job', another instance of `brun'
+# still could run such jobs in parallel)
+our $skip_on_fail = 0;
+
# Various utility functions
sub parse_machine_list(@);