diff options
Diffstat (limited to 'lib/PerlDaemon/RunModules.pm')
| -rw-r--r-- | lib/PerlDaemon/RunModules.pm | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/PerlDaemon/RunModules.pm b/lib/PerlDaemon/RunModules.pm index 2c2d188..95bb577 100644 --- a/lib/PerlDaemon/RunModules.pm +++ b/lib/PerlDaemon/RunModules.pm @@ -57,6 +57,7 @@ sub do ($) { unless (%$modules) { $logger->warn("No modules are loaded!"); + } else { while (my ($k, $v) = each %$modules) { my $now = [gettimeofday]; @@ -64,11 +65,20 @@ sub do ($) { my $interval = $scheduler->{$k}{interval}; if ($timediff >= $interval) { - $logger->logmsg("Triggering $k (last triggered before ${timediff}s; wanted interval: ${interval}s)"); + my $carry = $timediff - $interval; + $logger->logmsg("Triggering $k (last triggered before ${timediff}s; carry: ${carry}s; wanted interval: ${interval}s)"); + + # TODO: carry handling + #if ($firstloop == 0) { + #} + $scheduler->{$k}{lastrun} = $now; $v->do(); + } } + + $firstloop = 0; } } |
