Reels: bound disk/ledger growth (pre-gen prune + on-demand cache sweep)
Nothing reaped reels before, so the on-disk cache and ledger grew unbounded — each night's daily reel is a new ~4MB file + ledger row that's stale within ~26h. - Pre-gen self-prune: after recording a reel, prune_superseded keeps the newest PREGEN_KEEP_PER_SCOPE (2) rows per (span, library) and unlinks the superseded reels' mp4+sidecar. Caps the ledger/disk at ~spans×libraries×2. - On-disk sweeper (spawn_reel_cache_sweeper): every 24h, removes reel mp4s with no ledger row and no live job older than REEL_CACHE_MAX_AGE_DAYS (7) — bounding the on-demand cache, which has no ledger row and otherwise grows forever — plus crashed-render cruft (.mp4.tmp/.concat.txt/orphan sidecars). Runs regardless of REEL_PREGEN_ENABLED; disable with REEL_CACHE_SWEEP_ENABLED=0. - New DAO methods prune_superseded + all_cache_keys (with tests); env knobs documented in .env.example. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -160,3 +160,10 @@ SEARCH_RAG_RERANK=0
|
||||
# REEL_PREGEN_LIBRARY=all
|
||||
# Max agentic tool iterations for pre-gen scripter. Default 8.
|
||||
# REEL_PREGEN_MAX_TOOL_ITERS=8
|
||||
#
|
||||
# On-disk reel cache sweep (runs every 24h, independent of pre-gen). Removes
|
||||
# reel MP4s with no ledger row + no live job that are older than the max age —
|
||||
# i.e. the on-demand cache, which otherwise grows forever. Set to 0 to disable.
|
||||
# REEL_CACHE_SWEEP_ENABLED=1
|
||||
# Age (days) before an unreferenced reel MP4 is swept. Default 7.
|
||||
# REEL_CACHE_MAX_AGE_DAYS=7
|
||||
|
||||
Reference in New Issue
Block a user