summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/perldaemon.conf1
-rw-r--r--lib/PerlDaemon/PerlDaemon.pl10
-rw-r--r--lib/PerlDaemon/RunModules.pm7
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();
}
}
}