Source code for ccat_data_transfer.config.config
import os
from dynaconf import Dynaconf
from pydantic_settings import BaseSettings
ccat_data_transfer_settings = Dynaconf(
settings_files=["{}/settings.toml".format(os.path.dirname(__file__))],
environments=True,
load_dotenv=True,
envvar_prefix="CCAT_DATA_TRANSFER",
default_env="default",
env=os.environ.get("ENV_FOR_DYNACONF", "default"),
)
[docs]
class TaskRecoverySettings(BaseSettings):
"""Settings for task recovery and monitoring."""
heartbeat_timeout: int = 300 # 5 minutes
max_stall_count: int = 3 # Maximum number of stalls before circuit breaker opens
circuit_breaker_timeout: int = 3600 # 1 hour before circuit breaker resets