"""request_cancel / get_cancel_event — мягкое прерывание обработки сессии.""" import threading from typing import Optional from .state import _sessions, _lock def request_cancel(sid: str) -> bool: """Запросить мягкое прерывание обработки сессии. Returns: True если сессия существует и отмена запрошена, False если нет. """ with _lock: s = _sessions.get(sid) if not s: return False s["cancel"].set() return True def get_cancel_event(sid: str) -> Optional[threading.Event]: """Получить событие отмены сессии (или None, если сессии нет).""" with _lock: s = _sessions.get(sid) return s["cancel"] if s else None