Покрытие кода docstrings
This commit is contained in:
parent
4e92aba2a2
commit
8f48df2cf5
19 changed files with 2324 additions and 1839 deletions
|
|
@ -11,8 +11,33 @@ logger = logging.getLogger(__name__)
|
|||
class SessionStorage:
|
||||
"""Хранилище сессий пользователей в JSON-файле.
|
||||
|
||||
Предоставляет методы для создания, получения, удаления и очистки сессий с
|
||||
учётом срока действия.
|
||||
Назначение:
|
||||
Лёгкое файловое хранилище для сессионных токенов, сопоставленных с
|
||||
`client_id` (например, IP клиента). Предназначено для сред без БД и
|
||||
persistent‑кэшей. Обеспечивает базовые операции и авто‑очистку протухших
|
||||
сессий.
|
||||
|
||||
Формат данных:
|
||||
{
|
||||
"sessions": {
|
||||
"<session_id>": {
|
||||
"username": str,
|
||||
"token": str,
|
||||
"client_id": str,
|
||||
"created_at": ISO8601 str,
|
||||
"expiry": ISO8601 str
|
||||
},
|
||||
...
|
||||
}
|
||||
}
|
||||
|
||||
Политика TTL:
|
||||
Каждая сессия действует 30 минут. При создании/чтении/удалении вызывается
|
||||
`clean_expired_sessions()` для удаления протухших записей.
|
||||
|
||||
Ограничения:
|
||||
- Нет файловых блокировок: в многопроцессных конфигурациях возможны гонки.
|
||||
- Размещение по умолчанию `/etc/gonets/sessions.json` требует прав на запись.
|
||||
"""
|
||||
|
||||
def __init__(self, file_path: str = "/etc/gonets/sessions.json"):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue