From 133a7efb6be71f861ba74d6b5558c64affb4b1b5 Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Wed, 6 Jan 2010 21:03:14 +0000 Subject: First cut at morphing checkpoints into keepalive code. svn path=/rpkid/rpki/left_right.py; revision=2931 --- rpkid/rpki/rpki_engine.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'rpkid/rpki/rpki_engine.py') diff --git a/rpkid/rpki/rpki_engine.py b/rpkid/rpki/rpki_engine.py index b81540d9..147ca8cc 100644 --- a/rpkid/rpki/rpki_engine.py +++ b/rpkid/rpki/rpki_engine.py @@ -197,6 +197,14 @@ class rpkid_context(object): rpki.log.traceback() cb(400, "Could not process PDU: %s" % data) + def checkpoint(self): + """ + Record that we were still alive when we got here, by resetting + keepalive timer. + """ + self.cron_timeout = rpki.sundial.now() + self.cron_keepalive + rpki.log.debug("Checkpoint: keepalive timer reset to %s" % self.cron_timeout) + def cron(self, cb = None): """ Periodic tasks. @@ -223,9 +231,10 @@ class rpkid_context(object): rpki.log.warn("cron already running, keepalive will expire at %s" % self.cron_timeout) return - self.cron_timeout = now + self.cron_keepalive + self.checkpoint() def loop(iterator, s): + self.checkpoint() s.cron(iterator) def done(): -- cgit v1.2.3