From 62db99d2b1297888d984118d0679a289024e2b8e Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 24 May 2011 06:59:48 +0000 Subject: added daemon.daemonize option (daemon can now start in the foreground if wished) --- conf/perldaemon.conf | 1 + lib/PerlDaemon/PerlDaemon.pl | 10 ++++++++-- lib/PerlDaemon/RunModules.pm | 7 ++++--- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/conf/perldaemon.conf b/conf/perldaemon.conf index edabda2..735cb67 100644 --- a/conf/perldaemon.conf +++ b/conf/perldaemon.conf @@ -6,3 +6,4 @@ daemon.pidfile = ./run/perldaemon.pid daemon.logfile = ./log/perldaemon.log daemon.modules.dir = ./lib/PerlDaemonModules daemon.modules.runiterval = 3 +daemon.daemonize = no diff --git a/lib/PerlDaemon/PerlDaemon.pl b/lib/PerlDaemon/PerlDaemon.pl index 3e3038b..1bee431 100644 --- a/lib/PerlDaemon/PerlDaemon.pl +++ b/lib/PerlDaemon/PerlDaemon.pl @@ -83,7 +83,7 @@ sub readconf ($) { # Check my $msg = 'Missing property:'; - foreach (qw(wd loopinterval alivefile pidfile logfile)) { + foreach (qw(wd loopinterval alivefile pidfile logfile daemonize)) { my $key = "daemon.$_"; die "$msg $key\n" unless exists $conf{$key}; } @@ -157,7 +157,13 @@ my $conf = readconf shift; $conf->{logger} = PerlDaemon::Logger->new($conf); prestartup $conf; -daemonize $conf; + +if ($conf->{'daemon.daemonize'} ne 'yes') { + print "Running in foreground...\n"; +} else { + daemonize $conf; +} + sighandlers $conf; daemonloop $conf; diff --git a/lib/PerlDaemon/RunModules.pm b/lib/PerlDaemon/RunModules.pm index ba1030a..ecdb810 100644 --- a/lib/PerlDaemon/RunModules.pm +++ b/lib/PerlDaemon/RunModules.pm @@ -49,10 +49,11 @@ sub do ($) { $logger->warn("No modules are loaded!"); } else { while (my ($k, $v) = each %$modules) { - + my $now = gettimeofday; +#$logger->logmsg(tv_interval($now, $scheduler->{$k}{lastrun})); $logger->logmsg("Triggering $k"); - $scheduler->{$k}{lastrun} = gettimeofday; - $v->do(); + $scheduler->{$k}{lastrun} = $now; + #$v->do(); } } } -- cgit v1.2.3