Source code for nv_ingest.framework.orchestration.ray.util.env_config

import os
import logging

logger = logging.getLogger(__name__)


[docs] def str_to_bool(value: str) -> bool: """ Convert string to boolean value. Parameters ---------- value : str String value to convert Returns ------- bool Boolean representation of the string """ return value.strip().lower() in {"1", "true", "yes", "on"}
[docs] def get_env_var(name: str, default, var_type=None): """ Get environment variable with type conversion and default value. Parameters ---------- name : str Environment variable name default : Any Default value if environment variable is not set var_type : type, optional Type to convert to. If None, infers from default value type Returns ------- Any Environment variable value converted to the appropriate type """ value = os.environ.get(name) if value is None: return default # Determine type from default if not explicitly provided target_type = var_type or type(default) # Handle boolean conversion specially if target_type is bool: return str_to_bool(value) # For other types, use direct conversion try: return target_type(value) except (ValueError, TypeError) as e: logger.warning( f"Failed to convert environment variable {name}='{value}' to \ {target_type.__name__}. Using default: {default}, error: {e}" ) return default
# Dynamic Memory Scaling Configuration DISABLE_DYNAMIC_SCALING = get_env_var("INGEST_DISABLE_DYNAMIC_SCALING", False, bool) DYNAMIC_MEMORY_THRESHOLD = get_env_var("INGEST_DYNAMIC_MEMORY_THRESHOLD", 0.75, float) DYNAMIC_MEMORY_KP = get_env_var("INGEST_DYNAMIC_MEMORY_KP", 0.2, float) DYNAMIC_MEMORY_KI = get_env_var("INGEST_DYNAMIC_MEMORY_KI", 0.01, float) DYNAMIC_MEMORY_EMA_ALPHA = get_env_var("INGEST_DYNAMIC_MEMORY_EMA_ALPHA", 0.1, float) DYNAMIC_MEMORY_TARGET_QUEUE_DEPTH = get_env_var("INGEST_DYNAMIC_MEMORY_TARGET_QUEUE_DEPTH", 0, int) DYNAMIC_MEMORY_PENALTY_FACTOR = get_env_var("INGEST_DYNAMIC_MEMORY_PENALTY_FACTOR", 0.1, float) DYNAMIC_MEMORY_ERROR_BOOST_FACTOR = get_env_var("INGEST_DYNAMIC_MEMORY_ERROR_BOOST_FACTOR", 1.5, float) DYNAMIC_MEMORY_RCM_MEMORY_SAFETY_BUFFER_FRACTION = get_env_var( "INGEST_DYNAMIC_MEMORY_RCM_MEMORY_SAFETY_BUFFER_FRACTION", 0.15, float )