diff options
| -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(); } } } |
