SurfSense/surfsense_backend/app/indexing_pipeline/cache/settings.py

30 lines
837 B
Python

"""Index-cache configuration resolved from the central ``Config``.
The blob backend is intentionally not configured here: it is shared with the ETL
parse cache (see ``ETL_CACHE_STORAGE_*``).
"""
from __future__ import annotations
from dataclasses import dataclass
@dataclass(frozen=True)
class IndexCacheSettings:
enabled: bool
chunker_version: int
ttl_days: int
max_total_bytes: int
eviction_batch: int
def load_index_cache_settings() -> IndexCacheSettings:
from app.config import config
return IndexCacheSettings(
enabled=config.INDEX_CACHE_ENABLED,
chunker_version=config.INDEX_CACHE_CHUNKER_VERSION,
ttl_days=config.INDEX_CACHE_TTL_DAYS,
max_total_bytes=config.INDEX_CACHE_MAX_TOTAL_MB * 1024 * 1024,
eviction_batch=config.INDEX_CACHE_EVICTION_BATCH,
)