diff options
Diffstat (limited to 'lib/PerlDaemon/RunModules.pm')
| -rw-r--r-- | lib/PerlDaemon/RunModules.pm | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/PerlDaemon/RunModules.pm b/lib/PerlDaemon/RunModules.pm index 4420cd7..426bc83 100644 --- a/lib/PerlDaemon/RunModules.pm +++ b/lib/PerlDaemon/RunModules.pm @@ -25,7 +25,7 @@ sub new ($$) { # TODO: Add eval catching jost un case for errors $loadedmodules{$name} = eval "${name}->new(\$conf)"; $scheduler{$name}{lastrun} = [0,0]; - $scheduler{$name}{interval} = $conf->{'modules.runinterval'}; + $scheduler{$name}{interval} = $conf->{'daemon.modules.runinterval'}; } } else { @@ -50,10 +50,14 @@ sub do ($) { } 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} = $now; - #$v->do(); + my $timediff = tv_interval($scheduler->{$k}{lastrun}, $now); + my $interval = $scheduler->{$k}{interval}; + + if ($timediff >= $interval) { + $logger->logmsg("Triggering $k (last run before ${timediff}s ; wanted interval: ${interval}s)"); + $scheduler->{$k}{lastrun} = $now; + $v->do(); + } } } } |
