- maintenance ticks every 1 and 5 minutes
authorAndreas Scherbaum <andreas@scherbaum.biz>
Sun, 12 Aug 2012 12:46:19 +0000 (14:46 +0200)
committerAndreas Scherbaum <andreas@scherbaum.biz>
Sun, 12 Aug 2012 12:46:19 +0000 (14:46 +0200)
docbot.pl

index eb2c8eaf70d013e917ae3fbf5a571a375d60fbd3..19e00ddf48bc2f8db307ff398f2ebb85b3f70824 100755 (executable)
--- a/docbot.pl
+++ b/docbot.pl
@@ -272,23 +272,34 @@ POE::Session->create(
 
 
 # this POE session will start maintenance operations
-# ticked every 5 minutes
+# ticked every n minutes
 POE::Session->create(
     inline_states => {
         _start => sub {
-            # start the next tick
-            $_[HEAP]->{next_alarm_time} = int(time()) + 60 * 5;
-            $_[KERNEL]->alarm(tick => $_[HEAP]->{next_alarm_time});
+            # start the next ticks
+            $_[HEAP]->{next_alarm_time_1m} = int(time()) + 60;
+            $_[KERNEL]->alarm(tick_1m => $_[HEAP]->{next_alarm_time_1m});
+            $_[HEAP]->{next_alarm_time_5m} = int(time()) + 60 * 5;
+            $_[KERNEL]->alarm(tick_5m => $_[HEAP]->{next_alarm_time_5m});
         },
 
+        # a tick every minute
+        tick_1m => sub {
+            # make sure the next tick is initialized
+            $_[HEAP]->{next_alarm_time_1m} = $_[HEAP]->{next_alarm_time_1m} + 60;
+            $_[KERNEL]->alarm(tick_1m => $_[HEAP]->{next_alarm_time_1m});
+
+            # call the real maintenance function
+            maintenance_1m();
+        },
         # a tick every 5 minutes
-        tick => sub {
+        tick_5m => sub {
             # make sure the next tick is initialized
-            $_[HEAP]->{next_alarm_time} = $_[HEAP]->{next_alarm_time} + 60 * 5;
-            $_[KERNEL]->alarm(tick => $_[HEAP]->{next_alarm_time});
+            $_[HEAP]->{next_alarm_time_5m} = $_[HEAP]->{next_alarm_time_5m} + 60 * 5;
+            $_[KERNEL]->alarm(tick_5m => $_[HEAP]->{next_alarm_time_5m});
 
             # call the real maintenance function
-            maintenance();
+            maintenance_5m();
         },
         execute_shutdown => \&execute_shutdown,
     },
@@ -1054,7 +1065,20 @@ BEGIN {
 }
 
 
-# maintenance()
+# maintenance_1m()
+#
+# do some maintenance
+#
+# parameter:
+#  none
+# return:
+#  none
+sub maintenance_1m {
+
+}
+
+
+# maintenance_5m()
 #
 # verify database connection, do some maintenance
 #
@@ -1062,7 +1086,7 @@ BEGIN {
 #  none
 # return:
 #  none
-sub maintenance {
+sub maintenance_5m {
     if (!$main::db->test_database()) {
         print_msg("Database not connected!", ERROR);
     }