import logging from data.database import TeamRole from util.config.validator import validate_database_url logger = logging.getLogger(__name__) def check_health(app_config): # Attempt to connect to the database first. If the DB is not responding, # using the validate_database_url will timeout quickly, as opposed to # making a normal connect which will just hang (thus breaking the health # check). try: validate_database_url(app_config['DB_URI'], {}, connect_timeout=3) except Exception: logger.exception('Could not connect to the database') return False # We will connect to the db, check that it contains some team role kinds try: return bool(list(TeamRole.select().limit(1))) except: return False