def start_loop(cfg: Config, noop=False):
handlers = []
handlers.append(StreamHandler(sys.stdout, level=cfg.log_level))
logger = Logger("Heart")
logger.info("Initializing Oshino v{0}".format(get_version()))
logger.info("Running forever in {0} seconds interval. Press Ctrl+C to exit"
.format(cfg.interval))
if cfg.sentry_dsn:
try:
client = SentryClient(cfg.sentry_dsn)
handlers.append(SentryHandler(client,
level=logbook.ERROR,
bubble=True))
except InvalidDsn:
logger.warn("Invalid Sentry DSN '{0}' providen. Skipping"
.format(cfg.sentry_dsn))
setup = NestedSetup(handlers)
setup.push_application()
loop = create_loop()
try:
loop.run_until_complete(main_loop(cfg,
logger,
cfg.riemann.transport(noop),
forever,
loop=loop))
finally:
loop.close()
评论列表
文章目录