David Muir Sharnoff > Daemon-Generic-0.3 > Daemon::Generic::While1

Download:
modules/Daemon-Generic-0.3.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
Report a bug
Module Version: 0.3   Source   Latest Release: Daemon-Generic-0.61

NAME ^

 Daemon::Generic::While1 - Daemon framework with default while(1) loop

SYNOPSIS ^

 @ISA = qw(Daemon::Generic::While1);

 sub gd_run_body {
        # stuff
 }

DESCRIPTION ^

This is a slight variation on Daemon::Generic: a default gd_run() provided. It has a while(1) loop that calls gd_run_body() over and over. It checks for reconifg and and terminate events and only actions them between calls to gd_run_body().

Terminate events will be forced through after $Daemon::Generic::force_quit_delay seconds if gd_run_body() doesn't return quickly enough.

SUBCLASS METHODS REQUIRD ^

The following method is required to be overridden to subclass Daemon::Generic::While1:

gd_run_body()

This method will be called over and over. This method should include a call to sleep(1) (or a bit more). Reconfig events will not interrupt it. Quit events will only interrupt it after 15 seconds.

ADDITIONAL METHODS ^

The following additional methods are available for your use (as compared to Daemon::Generic):

gd_sleep($period)

This will sleep for $period seconds but in one-second intervals so that if a SIGINT or SIGHUP arrives the sleep period can end more quickly.

Using this makes it safe for gd_run_body() to sleep for longer than $Daemon::Generic::force_quit_delay seconds at a time.

ADDITIONAL MEMBER DATA ^

The following additional bits of member data are defined:

gd_sigint

The time at which a (unprocessed) SIGINT was recevied.

gd_sighup

The time at which a (unprocessed) SIGHUP was recevied.

THANK THE AUTHOR ^

If you need high-speed internet services (T1, T3, OC3 etc), please send me your request-for-quote. I have access to very good pricing: you'll save money and get a great service.

LICENSE ^

Copyright(C) 2006 David Muir Sharnoff <muir@idiom.com>. This module may be used and distributed on the same terms as Perl itself.