session_state.py 749 B

1234567891011121314151617181920212223242526272829
  1. """Simple thread-safe in-memory session state for storing sess_key.
  2. 提供 set_sess_key/get_sess_key/clear_sess_key 接口,供其他模块在调用 API 时获取会话 key。
  3. """
  4. from threading import Lock
  5. from typing import Optional
  6. _lock = Lock()
  7. _sess_key: Optional[str] = None
  8. def set_sess_key(key: str) -> None:
  9. """设置全局 sess_key(线程安全)。"""
  10. global _sess_key
  11. with _lock:
  12. _sess_key = key
  13. def get_sess_key() -> Optional[str]:
  14. """获取当前的 sess_key,如果没有则返回 None(线程安全)。"""
  15. with _lock:
  16. return _sess_key
  17. def clear_sess_key() -> None:
  18. """清除当前 sess_key(线程安全)。"""
  19. global _sess_key
  20. with _lock:
  21. _sess_key = None