def setup_server(): last_error = time.time() - 24 while True: try: db_ver_int = utils.get_db_ver_int() break except: time.sleep(0.5) if time.time() - last_error > 30: last_error = time.time() logger.exception('Error connecting to mongodb server') listener.add_listener('system', on_system_msg) if db_ver_int > settings.local.version_int: logger.error('Database version is newer than server version', 'setup', db_version=db_ver_int, server_version=settings.local.version_int, ) exit(75) global db_setup db_setup = not settings.conf.mongodb_uri global server_upgrade server_upgrade = db_ver_int and db_ver_int < settings.local.version_int if db_setup or server_upgrade: logger.info('Starting setup server', 'setup') if not db_setup: upgrade.database_setup() upgrade_database() settings.local.server_start.clear() thread = threading.Thread(target=server_thread) thread.daemon = True thread.start() setup_ready.wait() upgrade.database_clean_up() last_error = time.time() - 24 while True: try: utils.set_db_ver(__version__) break except: time.sleep(0.5) if time.time() - last_error > 30: last_error = time.time() logger.exception('Error connecting to mongodb server')
def upgrade_database(): upgrade.database_setup() def _upgrade_thread(): try: upgrade.upgrade_server() upgrade_done.set() stop_server() except: logger.exception('Server upgrade failed') set_global_interrupt() threading.Thread(target=_upgrade_thread).start()