our $VERSION = '0.03';
use POE;
version => $VERSION,
base => 'XAS::Lib::App::Daemon::POE',
accessors => 'email'
;
# ----------------------------------------------------------------------
# Public Methods
# ----------------------------------------------------------------------
sub setup {
my $self = shift;
$self->{email} = XAS::System->module(
email => {
-server => $self->env->mxserver,
-port => $self->env->mxport,
}
);
}
sub main {
my $self = shift;
my $alert;
my $logger;
$self->setup();
$logger = XAS::Lib::Daemon::Logger->new(
-alias => 'logger',
-logger => $self->log
);
$alert = XAS::Monitor::Database::Alert->new(
-alias => 'alert',
-logger => 'logger',
-mailer => $self->email,
-email_to => "kevin\@kesteb.us",
-email_from => "xas\@" . $self->env->host . '.' . $self->env->domain,
-schedule => '*/15 * * * *',
);
$self->log->info("Starting up");
$poe_kernel->run();
$self->log->info('Shutting down');
}
# ----------------------------------------------------------------------
# Private Methods
# ----------------------------------------------------------------------
1;
__END__
=head1 NAME
XAS::Apps::Base::Alerts - This module will monitor the alerts table
=head1 SYNOPSIS
use XAS::Apps::Base::Alerts;
my $app = XAS::Apps::Base::Alerts->new();
exit $app->run();
=head1 DESCRIPTION
This module will monitor the alerts table within the XAS database. When pending
alerts are found they are emailed to a support person. It inherits from
XAS::Lib::App::Daemon::POE.
=head1 SEE ALSO
sbin/xas-alerts.pl
L<XAS|XAS>
=head1 AUTHOR
Kevin L. Esteb, E<lt>kevin@kesteb.usE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2012 by Kevin L. Esteb
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.8 or,
at your option, any later version of Perl 5 you may have available.
=cut