46 |
open QSTAT, "$cmd |"; |
open QSTAT, "$cmd |"; |
47 |
my $ret = $?; |
my $ret = $?; |
48 |
|
|
49 |
|
my $perfdata = ""; |
50 |
|
|
51 |
if ( $ret == 0 ) { |
if ( $ret == 0 ) { |
52 |
my ( $errstr, $warnstr, $okstr ); |
my ( $errstr, $warnstr, $okstr ); |
53 |
|
|
54 |
my %count; |
my %count = ( Q => 0, R => 0 ); |
55 |
while ( <QSTAT> ) { |
while ( <QSTAT> ) { |
56 |
next unless ( /^\d+/ ); # only count lines with job ID |
next unless ( /^\d+/ ); # only count lines with job ID |
57 |
my $state = (split /\s+/)[0,4]; |
my $state = (split /\s+/)[0,4]; |
62 |
# OK: message contains no details |
# OK: message contains no details |
63 |
$message = "OK; $count{R} running, $count{Q} queued"; |
$message = "OK; $count{R} running, $count{Q} queued"; |
64 |
$result = $ERRORS{"OK"}; |
$result = $ERRORS{"OK"}; |
65 |
|
$perfdata = "'queued'=$count{Q};;;;; 'running'=$count{R};;;;"; |
66 |
} |
} |
67 |
else { |
else { |
68 |
# Failed to get output of pbsnodes: UNKNOWN |
# Failed to get output of pbsnodes: UNKNOWN |
76 |
close QSTAT; |
close QSTAT; |
77 |
|
|
78 |
# Write output and return exit code; |
# Write output and return exit code; |
79 |
print "$message\n"; |
print "$message|$perfdata\n"; |
80 |
exit($result); |
exit($result); |
81 |
|
|