diff options
| author | Paul Buetow <paul@buetow.org> | 2011-05-24 06:59:48 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2011-05-24 06:59:48 +0000 |
| commit | 62db99d2b1297888d984118d0679a289024e2b8e (patch) | |
| tree | 36ae6262feff735b169d6144b880a8c1686a5bc8 | |
| parent | 956310f1b221bbbc612a6efd04f260d503e631ce (diff) | |
added daemon.daemonize option (daemon can now start in the foreground if wished)
| -rw-r--r-- | conf/perldaemon.conf | 1 | ||||
| -rw-r--r-- | lib/PerlDaemon/PerlDaemon.pl | 10 | ||||
| -rw-r--r-- | 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(); } } } |
