def run(self):
"""setup the site, start listening on port, setup the looping call to
:py:meth:`~.update_active_node` every ``self.poll_interval`` seconds,
and start the Twisted reactor"""
# get the active node before we start anything...
self.active_node_ip_port = self.get_active_node()
if self.active_node_ip_port is None:
logger.critical("ERROR: Could not get active vault node from "
"Consul. Exiting.")
raise SystemExit(3)
logger.warning("Initial Vault active node: %s",
self.active_node_ip_port)
site = Site(VaultRedirectorSite(self))
# setup our HTTP(S) listener
if self.tls_factory is not None:
self.listentls(site)
else:
self.listentcp(site)
# setup the update_active_node poll every POLL_INTERVAL seconds
self.add_update_loop()
logger.warning('Starting Twisted reactor (event loop)')
self.run_reactor()
评论列表
文章目录