(plugin) database::oracle - add timeout option for sqlpluscmd (#3462)
This commit is contained in:
parent
70f02450c8
commit
64a062e48c
|
@ -56,7 +56,8 @@ sub new {
|
|||
'local-connexion' => { name => 'local_connexion', default => 0 },
|
||||
'sysdba' => { name => 'sysdba', default => 0 },
|
||||
'sql-errors-exit:s' => { name => 'sql_errors_exit', default => 'unknown' },
|
||||
'tempdir:s' => { name => 'tempdir', default => '/tmp' }
|
||||
'tempdir:s' => { name => 'tempdir', default => '/tmp' },
|
||||
'timeout:s' => { name => 'timeout' }
|
||||
}
|
||||
);
|
||||
}
|
||||
|
@ -110,6 +111,12 @@ sub check_options {
|
|||
$self->{sqlplus_cmd} = $self->{option_results}->{sqlplus_cmd};
|
||||
$self->{container} = defined($self->{option_results}->{container}[0]) ? $self->{option_results}->{container}[0] : undef;
|
||||
|
||||
$self->{timeout} = 30;
|
||||
if (defined($self->{option_results}->{timeout}) && $self->{option_results}->{timeout} =~ /^\d+$/ &&
|
||||
$self->{option_results}->{timeout} > 0) {
|
||||
$self->{timeout} = $self->{option_results}->{timeout};
|
||||
}
|
||||
|
||||
$self->{output}->output_add(long_msg => "*** DEBUG MODE****\n", debug => 1);
|
||||
$self->{output}->output_add(long_msg => Data::Dumper::Dumper($self->{option_results}), debug => 1);
|
||||
|
||||
|
@ -204,11 +211,9 @@ sub is_version_minimum {
|
|||
sub get_id {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
my $msg = $self->{sid};
|
||||
return $msg;
|
||||
return $self->{sid};
|
||||
}
|
||||
|
||||
|
||||
sub get_unique_id4save {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
|
@ -241,7 +246,7 @@ exit;";
|
|||
my ($lerror, $stdout, $exit_code) = centreon::plugins::misc::backtick(
|
||||
command => $self->{sqlplus_cmd},
|
||||
arguments => [@{$self->{args}}, '@', $tempfile],
|
||||
timeout => 30,
|
||||
timeout => $self->{timeout},
|
||||
wait_exit => 1,
|
||||
redirect_stderr => 1
|
||||
);
|
||||
|
@ -253,8 +258,10 @@ exit;";
|
|||
|
||||
if ($exit_code <= -1000) {
|
||||
if ($exit_code == -1000) {
|
||||
$self->{output}->output_add(severity => 'UNKNOWN',
|
||||
short_msg => $stdout);
|
||||
$self->{output}->output_add(
|
||||
severity => 'UNKNOWN',
|
||||
short_msg => $stdout
|
||||
);
|
||||
}
|
||||
$self->{output}->display();
|
||||
$self->{output}->exit();
|
||||
|
|
Loading…
Reference in New Issue