""" Application constants """ from collections import OrderedDict from typing import Dict APP_NAME = "dna-etl-data-ingest-scheduled-service" ENV_PROD: str = "prod" SERVICE: str = "dna-etl" LOCKFILE_NAME = "lockfile" LOCKFILE_TTL = 11 * 60 # 11 hours # CSV settings CSV_DELIMITER = "\t" CSV_QUOTE_CHAR = '"' CSV_NULL_VALUE = "1.#QNAN" BACKOFF_TIMEOUT = 15 * 60 # 15 minutes ES_DEFAULT_SCROLL_SIZE = 1000 AGG_ID_KEY: str = "id" AGG_VALUE_KEY: str = "value" # Tables structure AGG_DATA_STRUCTURE: Dict[str, str] = OrderedDict( ((AGG_ID_KEY, "varchar(10) PRIMARY KEY"), (AGG_VALUE_KEY, "jsonb NOT NULL")) ) CHART_DAYS = 29 CHANGE_DAYS = 7 LAST_RELEASE_DAYS = 7 * 8 # 8 weeks FIRST_CHART_DAY = "CURRENT_DATE - 1" LAST_CHART_DAY = f"CURRENT_DATE - {CHART_DAYS}" HISTORICAL_CHART_DAY = f"CURRENT_DATE - {CHART_DAYS + 1}"