NAME

XAS::Lib::App::Daemon - The base class to write daemons within the XAS environment

SYNOPSIS

use XAS::Lib::App::Daemon;

my $app = XAS::Lib::App::Daemon->new();

$app->run();

DESCRIPTION

This module defines a base class for writing daemons. It inherits from XAS::Lib::App. Please see that module for additional documentation.

METHODS

define_logging

This method sets up the logger. By default, this file is named xas/var/log/<$0>.log. This can be overridden by the --logfile option.

define_pidfile

This methid sets up the pid file for the process. By default, this file is named xas/var/run/<$0>.pid. This can be overridded by the --pidfile option.

define_signals

This method sets up basic signal handling. By default this is only for the INT, TERM, HUP and QUIT signals.

define_daemon

This method will cause the process to become a daemon.

ACCESSORS

The following accessors are defined.

logfile

This returns the currently defined log file.

pidfile

This returns the currently defined pid file.

OPTIONS

This module handles these additional options.

--logfile

This defines a log file for logging information.

--pidfile

This defines the pid file for recording the pid.

--daemon

Become a daemon.

SEE ALSO

XAS::Base
XAS::Class
XAS::Constants
XAS::Exception
XAS::System
XAS::Utils

XAS::Apps::Base::Alerts
XAS::Apps::Base::Collector
XAS::Apps::Base::ExtractData
XAS::Apps::Base::ExtractGlobals
XAS::Apps::Base::RemoveData
XAS::Apps::Database::Schema
XAS::Apps::Templates::Daemon
XAS::Apps::Templates::Generic
XAS::Apps::Test::Echo::Client
XAS::Apps::Test::Echo::Server
XAS::Apps::Test::RPC::Client
XAS::Apps::Test::RPC::Methods
XAS::Apps::Test::RPC::Server

XAS::Collector::Alert
XAS::Collector::Base
XAS::Collector::Connector
XAS::Collector::Factory

XAS::Lib::App
XAS::Lib::App::Daemon
XAS::Lib::App::Daemon::POE
XAS::Lib::Connector
XAS::Lib::Counter
XAS::Lib::Daemon::Logger
XAS::Lib::Daemon::Logging
XAS::Lib::Gearman::Admin
XAS::Lib::Gearman::Admin::Status
XAS::Lib::Gearman::Admin::Worker
XAS::Lib::Gearman::Client
XAS::Lib::Gearman::Client::Status
XAS::Lib::Gearman::Worker
XAS::Lib::Net::Client
XAS::LIb::Net::Server
XAS::Lib::RPC::JSON::Client
XAS::Lib::RPC::JSON::Server
XAS::Lib::Session
XAS::Lib::Spool

XAS::Model::Database
XAS::Model::Database::Alert
XAS::Model::Database::Counter
XAS::Model::DBM

XAS::Monitor::Base
XAS::Monitor::Database
XAS::Monitor::Database::Alert

XAS::Scheduler::Base

XAS::System::Alert
XAS::System::Email
XAS::System::Environment
XAS::System::Logger

AUTHOR

Kevin L. Esteb, <kevin@kesteb.us>

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.