From 545d347887f543bba24083da2980aac2b91ddee9 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Thu, 2 Jun 2011 10:38:48 +0000 Subject: initial carry handling --- TODO | 1 + lib/PerlDaemon/RunModules.pm | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/TODO b/TODO index 3d9a157..aa39935 100644 --- a/TODO +++ b/TODO @@ -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; } } -- cgit v1.2.3