soulsync/core/video/enrichment
BoulderBadgeDad 621693ecc8 video: real TTL+LRU cache (thread-safe) + cache search — the kettui way
The inline dict cache was a latent bug: no lock (the engine singleton is hit by
concurrent Flask + worker threads) and a wholesale-clear cliff at 256 (nuked hot
entries). Extracted a thread-safe TTL+LRU TTLCache into an importable core/ module
with seam tests (expiry via injected clock, LRU-not-wholesale eviction, a
concurrency stress test). Engine now uses it; search is cached too (60s, ownership
re-stamped fresh). Deliberately NOT persisted to disk — durable data already lives
in video.db; that tier would be over-engineering for a self-hosted app.
2026-06-15 13:02:24 -07:00
..
__init__.py video enrichment 1b: worker engine + TMDB/TVDB clients 2026-06-14 11:21:30 -07:00
cache.py video: real TTL+LRU cache (thread-safe) + cache search — the kettui way 2026-06-15 13:02:24 -07:00
clients.py video: featured TMDB review on movie/TV detail pages 2026-06-15 11:52:07 -07:00
engine.py video: real TTL+LRU cache (thread-safe) + cache search — the kettui way 2026-06-15 13:02:24 -07:00
worker.py video: OMDb daily-limit cools down + auto-resumes (vs hard pause) 2026-06-15 09:34:47 -07:00