def serve(self): http_server = HTTPServer(WSGIContainer(self.app)) scheduler = Scheduler(self.datastore) if not self.without_checks: for name, (module, server) in self.servers.items(): scheduler.register(module, server, name) try: if not self.without_checks: scheduler.start() http_server.listen(self.port, self.host) log.info("Starting server on http://%s:%s", self.host, self.port) try: IOLoop.instance().start() finally: self.thread_stopper["finished"] = True finally: scheduler.finish()