"""Service configs.""" import os class Config: APP_NAME = "apollo-data-cleaner-job" ENVIRONMENT = os.environ.get("ENVIRONMENT", "local").lower() SENTRY_DSN = os.environ.get("SENTRY_DSN") # for now, we have two types of databases that we can pass: MYSQL & PSQL DB_TYPE = os.environ.get("DB_TYPE", "MYSQL").upper() DB_NAME = os.environ["DB_NAME"] DB_HOST = os.environ["DB_HOST"] DB_USER = os.environ["DB_USER"] DB_PASS = os.environ["DB_PASS"] DB_PORT = int(os.environ.get("DB_PORT")) DB_POOL_RECYCLE = int(os.environ.get("DB_POOL_RECYCLE", 7200)) DB_POOL_SIZE = int(os.environ.get("DB_POOL_SIZE", 1)) REDIS_HOST = os.environ["REDIS_HOST"] REDIS_PORT = int(os.environ.get("REDIS_PORT", 6379)) REDIS_LOCK_ENABLED = bool(os.environ.get("REDIS_LOCK_ENABLED", False)) REDIS_LOCK_TTL = int(os.environ.get("REDIS_LOCK_TTL", 10800)) # 3h STORED_PERIOD = int(os.environ["STORED_PERIOD"]) MODEL_PATH = os.environ["MODEL_PATH"] FILTER_BY = os.environ["FILTER_BY"] TIME_FRAME = int(os.environ.get("TIME_FRAME", 2)) # sec APP_INSTANCE_KEY = f"clean/{MODEL_PATH}" ALLOW_DB_REPLICATION = os.environ.get("ALLOW_DB_REPLICATION", False) if ALLOW_DB_REPLICATION: DB_SLAVE_NAME = os.environ.get("SLAVE_DB_NAME", DB_NAME) DB_SLAVE_HOST = os.environ.get("SLAVE_DB_HOST", DB_HOST) DB_SLAVE_PORT = int(os.environ.get("SLAVE_DB_PORT", DB_PORT)) DB_SLAVE_USER = os.environ.get("SLAVE_DB_USER", DB_USER) DB_SLAVE_PASS = os.environ.get("SLAVE_DB_PASS", DB_PASS) ATLAS_CHECK_LIMIT = int(os.environ.get("ATLAS_CHECK_LIMIT", 100)) USER_DATA_CHECK_LIMIT = int(os.environ.get("USER_DATA_CHECK_LIMIT", 100)) DEACTIVATE_ACCOUNTS_INCLUDE = os.environ.get("DEACTIVATE_ACCOUNTS_INCLUDE", "devices") DEACTIVATE_ACCOUNTS_LIMIT = int(os.environ.get("DEACTIVATE_ACCOUNTS_LIMIT", 100)) DELETE_INACTIVE_ACCOUNTS_INCLUDE = os.environ.get( "DELETE_INACTIVE_ACCOUNTS_INCLUDE", "messages,push_messages,feed_messages" ) DELETE_INACTIVE_ACCOUNTS_LIMIT = int(os.environ.get("DELETE_INACTIVE_ACCOUNTS_LIMIT", 100)) DELETE_EVENTS_LIMIT = int(os.environ.get("DELETE_EVENTS_LIMIT", 100)) DELETE_MESSAGES_TYPES = os.environ.get("DELETE_MESSAGES_TYPES", "messages,push_messages,feed_messages") DELETE_MESSAGES_LIMIT = int(os.environ.get("DELETE_MESSAGES_LIMIT", 1000)) config = Config()