add cookie session persistence
This commit is contained in:
@@ -167,6 +167,19 @@ class ProxyConfig:
|
||||
return result
|
||||
|
||||
|
||||
# --- Конфиг сессии браузера (куки, storage_state) ---
|
||||
|
||||
@dataclass(slots=True)
|
||||
class SessionConfig:
|
||||
storage_state_path: str | None = _env_optional_str("IAAI_STORAGE_STATE_PATH")
|
||||
max_age_days: int = _env_int("IAAI_SESSION_MAX_AGE_DAYS", 30)
|
||||
save_on_exit: bool = _env_bool("IAAI_SESSION_SAVE_ON_EXIT", True)
|
||||
|
||||
@property
|
||||
def enabled(self) -> bool:
|
||||
return bool(self.storage_state_path)
|
||||
|
||||
|
||||
# --- Главный объект настроек: собирает все блоки конфигурации ---
|
||||
|
||||
@dataclass(slots=True)
|
||||
@@ -195,6 +208,7 @@ class Settings:
|
||||
redis: RedisConfig = field(default_factory=RedisConfig)
|
||||
celery: CeleryConfig = field(default_factory=CeleryConfig)
|
||||
proxy: ProxyConfig = field(default_factory=ProxyConfig)
|
||||
session: SessionConfig = field(default_factory=SessionConfig)
|
||||
|
||||
# Глобальный синглтон — используется по умолчанию во всех модулях.
|
||||
settings = Settings()
|
||||
|
||||
Reference in New Issue
Block a user