From: Andreas Scherbaum Date: Sun, 12 Aug 2012 12:46:19 +0000 (+0200) Subject: - maintenance ticks every 1 and 5 minutes X-Git-Url: http://waps.l3s.uni-hannover.de/gitweb/%20%22mailto:postgres95%40openlink.co.uk%22?a=commitdiff_plain;h=069d31db9419acfcb79de91e4d22086b116a08e0;p=docbot.git - maintenance ticks every 1 and 5 minutes --- diff --git a/docbot.pl b/docbot.pl index eb2c8ea..19e00dd 100755 --- 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); }