diff options
Diffstat (limited to 'rpkid/rpki/rpki_engine.py')
-rw-r--r-- | rpkid/rpki/rpki_engine.py | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/rpkid/rpki/rpki_engine.py b/rpkid/rpki/rpki_engine.py index 1a9a5026..5f89c338 100644 --- a/rpkid/rpki/rpki_engine.py +++ b/rpkid/rpki/rpki_engine.py @@ -115,33 +115,31 @@ class rpkid_context(object): rpki.log.trace() self.sql.ping() - def cronjob_done(): - self.sql.sweep() - cb(200, "OK") + def cronjob_do_one(iterator, s): - self.cronjob_iterator = rpki.async.iterator(rpki.left_right.self_elt.sql_fetch_all(self), - self.cronjob_do_one, cronjob_done) - self.cronjob_iterator() + def client_poll(): + rpki.log.debug("Self %s polling parents" % s.self_id) + s.client_poll(update_children) - def cronjob_do_one(self, s): - """Handle periodic tasks for one <self_elt/>.""" + def update_children(): + rpki.log.debug("Self %s updating children" % s.self_id) + s.update_children(update_roas_crls_and_manifests) - def client_poll(): - rpki.log.debug("Self %s polling parents" % s.self_id) - s.client_poll(update_children) + def update_roas_crls_and_manifests(): + rpki.log.debug("Self %s updating ROAs" % s.self_id) + s.update_roas() + rpki.log.debug("Self %s regenerating CRLs and manifests" % s.self_id) + s.regenerate_crls_and_manifests() + iterator() - def update_children(): - rpki.log.debug("Self %s updating children" % s.self_id) - s.update_children(update_roas_crls_and_manifests) + client_poll() - def update_roas_crls_and_manifests(): - rpki.log.debug("Self %s updating ROAs" % s.self_id) - s.update_roas() - rpki.log.debug("Self %s regenerating CRLs and manifests" % s.self_id) - s.regenerate_crls_and_manifests() - self.cronjob_iterator() + def cronjob_done(): + self.sql.sweep() + cb(200, "OK") - client_poll() + rpki.async.iterator(rpki.left_right.self_elt.sql_fetch_all(self), + cronjob_do_one, cronjob_done) ## @var https_ta_cache # HTTPS trust anchor cache, to avoid regenerating it for every TLS connection. |