mirror of
https://github.com/Vateron-Media/XC_VM.git
synced 2026-10-26 19:03:17 +01:00
`the channel is listed under its category` failed intermittently on the second poll: the category never showed up in get_live_categories within 200s. That list is filtered by the line's category_ids, which UserRepository builds from the `category_map` cache file, and only CacheCronJob's heavy pass writes it. That pass returns early while its `heavy_cache_built` marker is under 300s old, and cron:cache runs once a minute, so a category created just after a pass waits up to ~360s. A 200s budget cannot cover that — the test passed only when the category happened to land late in a cycle, which is why it looked flaky rather than broken. The poll now gets 380s and the test 600s, with the 300s throttle named in the comment so the budget is not trimmed back without seeing why it is that size. Nothing in the panel changed; the first poll (get_live_streams, fed by the light pass) was always passing. Forcing the rebuild from the test is not an option: ./api?action=regenerate_cache runs cron:cache_engine, which only reads bouquet_map, and the only way to skip the throttle is `console.php cron:cache 1` — a shell the HTTP-only harness does not have. Verified: the full spec file passes (10/10, 3.5m).