"""Configuration for Renew manager lambda.""" import logging import os from lambdacommon import util from secrets_manager.lambda_ext import LambdaSecretsManager from sentry_sdk.integrations.logging import LoggingIntegration ENVIRONMENT = os.environ.get("Environment", "dev") # noqa: SIM112 (env var name set by terraform infra) # Logging LOGGER_LEVEL = getattr(logging, os.environ.get("LOGGER_LEVEL") or "INFO") LOGGER_DSN = os.environ.get("LOGGER_DSN") # Name of script SCRIPT_NAME = "lambda-vector-renew-manager" sentry_logging = LoggingIntegration( level=LOGGER_LEVEL, event_level=logging.ERROR, # Send ERROR-and-above logs as Sentry events. ) util.init_sentry_for_lambda(sentry_logging) datadog_secrets_manager_client = LambdaSecretsManager( environment=ENVIRONMENT, service_name="datadog" ) DATADOG_API_KEY = datadog_secrets_manager_client.get_cred("DD_API_KEY") DATADOG_APP_KEY = datadog_secrets_manager_client.get_cred("DD_APP_KEY") secrets_manager_client = LambdaSecretsManager( environment=ENVIRONMENT, service_name=SCRIPT_NAME ) DD_MYSQL_USER = os.getenv("DD_MYSQL_USER") DD_MYSQL_PASSWORD = secrets_manager_client.get_cred("DD_MYSQL_PASSWORD") DD_MYSQL_HOST = os.getenv("DD_MYSQL_HOST") DD_MYSQL_PORT = int(os.getenv("DD_MYSQL_PORT") or 3306) DD_MYSQL_DATABASE = os.getenv("DD_MYSQL_DATABASE") DD_MYSQL_CONN_INFO = { "user": DD_MYSQL_USER, "password": DD_MYSQL_PASSWORD, "host": DD_MYSQL_HOST, "port": DD_MYSQL_PORT, "database": DD_MYSQL_DATABASE, "connect_timeout": 15, } ITERATIONS = int(os.getenv("ITERATIONS", 10)) INTERVAL_SECONDS = int(os.getenv("INTERVAL_SECONDS", 60)) MAX_JOBS_PER_RUN = int(os.getenv("MAX_JOBS_PER_RUN", 1500)) # SQS send_message_batch hard limit is 10 messages per batch. SQS_BATCH_SIZE = int(os.getenv("SQS_BATCH_SIZE", 10)) assert 1 <= SQS_BATCH_SIZE <= 10, "SQS_BATCH_SIZE must be in [1, 10]" DB_BATCH_SIZE = int(os.getenv("DB_BATCH_SIZE", 1000)) SQS_WORKER_COUNT = int(os.getenv("SQS_WORKER_COUNT", 20)) PHYSICAL_ENCODER = 23 NUM_TOP_PRIORITY_STORES = 14 NON_TOP_PRIORITY_VALUE = 10000 GRAS_DELIVERY_STORE_IDS = [ int(x) for x in os.environ.get("GRAS_DELIVERY_STORE_IDS", "").split(",") if x ]