NAME
HealthCheck::Diagnostic::DBHCheck - Check a database handle to make sure you have read/write access
VERSION
version v1.0.1
SYNOPSIS
my $health_check = HealthCheck->new( checks => [
HealthCheck::Diagnostic::DBHCheck->new(
dbh => \&connect_to_read_write_db,
db_access => "rw",
tags => [qw< dbh_check_rw >]
timeout => 10, # default
),
HealthCheck::Diagnostic::DBHCheck->new(
dbh => \&connect_to_read_only_db,
db_access => "ro",
tags => [qw< dbh_check_ro >]
),
] );
my $result = $health_check->check;
$result->{status}; # OK on a successful check or CRITICAL otherwise
DESCRIPTION
Determines if the database can be used for read and write access, or read only access.
For read access, a simple SELECT statement is used.
For write access, a temporary table is created, and used for testing.
ATTRIBUTES
Those inherited from "ATTRIBUTES" in HealthCheck::Diagnostic plus:
label
Inherited from "label" in HealthCheck::Diagnostic, defaults to dbh_check
.
tags
Inherited from "tags" in HealthCheck::Diagnostic, defaults to [ 'dbh_check' ]
.
dbh
A coderef that returns a DBI DATABASE handle object or optionally the handle itself.
Can be passed either to new
or check
.
db_access
A string indicating the type of access being tested.
A value of ro
indicates only read access shoud be tested.
A value of rw
indicates both read and write access should be tested.
DEFAULT is rw
.
db_class
The expected class for the database handle returned by the dbh
coderef.
Defaults to DBI::db
.
timeout
Sets up an ALRM
signal handler used to timeout the initial connection attempt after the number of seconds provided.
Defaults to 10.
DEPENDENCIES
CONFIGURATION AND ENVIRONMENT
None
AUTHOR
Grant Street Group <developers@grantstreet.com>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2019 - 2023 by Grant Street Group.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)