Daemon::Generic::While1 - Daemon framework with default while(1) loop
@ISA = qw(Daemon::Generic::While1); sub gd_run_body { # stuff }
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().
gd_run()
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.
$Daemon::Generic::force_quit_delay
The following method is required to be overridden to subclass Daemon::Generic::While1:
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.
sleep(1)
The following additional methods are available for your use (as compared to Daemon::Generic):
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.
$period
Using this makes it safe for gd_run_body() to sleep for longer than $Daemon::Generic::force_quit_delay seconds at a time.
The following additional bits of member data are defined:
The time at which an (unprocessed) SIGINT was recevied.
The time at which an (unprocessed) SIGHUP was recevied.
Copyright (C) 2006-2010 David Muir Sharnoff <muir@idiom.com>. Copyright (C) 2011 Google, Inc. This module may be used and distributed on the same terms as Perl itself.
To install Daemon::Generic, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Daemon::Generic
CPAN shell
perl -MCPAN -e shell install Daemon::Generic
For more information on module installation, please visit the detailed CPAN module installation guide.