diff options
| author | Paul Buetow <paul@buetow.org> | 2011-06-02 10:38:48 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2011-06-02 10:38:48 +0000 |
| commit | 545d347887f543bba24083da2980aac2b91ddee9 (patch) | |
| tree | dacd6e33fb5bd205eb74cb071a695eb7c354a5c6 | |
| parent | b5a56d2805131bf4595173206ccbb5bdfb2cc0bf (diff) | |
initial carry handling
| -rw-r--r-- | TODO | 1 | ||||
| -rw-r--r-- | lib/PerlDaemon/RunModules.pm | 12 |
2 files changed, 12 insertions, 1 deletions
@@ -1,2 +1,3 @@ * Add documentation +* Add carry handling (sum it up) * Add special SIGNAL handling (e.g. trigger modules) 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; } } |
