# Init async event loop loop = initialize_event_loop() # Check if all information are available to setup Hass.io if not bootstrap.check_environment(): sys.exit(1) # init executor pool executor = ThreadPoolExecutor(thread_name_prefix="SyncWorker") loop.set_default_executor(executor) _LOGGER.info("Initialize Hass.io setup") coresys = loop.run_until_complete(bootstrap.initialize_coresys()) bootstrap.migrate_system_env(coresys) _LOGGER.info("Setup HassIO") loop.run_until_complete(coresys.core.setup()) loop.call_soon_threadsafe(loop.create_task, coresys.core.start()) loop.call_soon_threadsafe(bootstrap.reg_signal, loop) try: _LOGGER.info("Run Hass.io") loop.run_forever() finally: _LOGGER.info("Stopping Hass.io") loop.run_until_complete(coresys.core.stop()) executor.shutdown(wait=False) loop.close()
# pylint: disable=invalid-name if __name__ == "__main__": bootstrap.initialize_logging() if not bootstrap.check_environment(): exit(1) loop = asyncio.get_event_loop() executor = ThreadPoolExecutor(thread_name_prefix="SyncWorker") loop.set_default_executor(executor) _LOGGER.info("Initialize Hassio setup") config = bootstrap.initialize_system_data() hassio = core.HassIO(loop, config) bootstrap.migrate_system_env(config) _LOGGER.info("Run Hassio setup") loop.run_until_complete(hassio.setup()) _LOGGER.info("Start Hassio task") loop.call_soon_threadsafe(loop.create_task, hassio.start()) loop.call_soon_threadsafe(bootstrap.reg_signal, loop, hassio) _LOGGER.info("Run Hassio loop") loop.run_forever() _LOGGER.info("Cleanup system") executor.shutdown(wait=False) loop.close()