dragonflight/services/web-ui/public
Zac 562881f0db fix(jobs): stall detection + manual kill button so 5h-stuck actives can't happen
A thumbnail job from earlier stayed 'active' for 6+ hours: worker was restarted at 70% progress, BullMQ left it in the active set, and there was no stall reaper because the worker was created with only the default options.

Worker now passes stalledInterval: 30000, lockDuration: 60000, lockRenewTime: 15000, maxStalledCount: 1 to the Worker constructor. If a run dies, BullMQ reclaims the job back to waiting within 30s and a 'stalled' event is logged. Otherwise the lock is renewed mid-job.

Jobs UI gains a 'Kill' button per row next to Details. Calls DELETE /api/v1/jobs/:id which already removes the job from Redis. Use it on any row that looks stuck.
2026-05-17 19:10:19 -04:00
..
css feat(design): broadcast ops console redesign sweep 2026-05-17 19:05:22 -04:00
img feat(splash): transparent PNG so the subject composites cleanly 2026-05-17 18:39:21 -04:00
js feat(design): broadcast ops console redesign sweep 2026-05-17 19:05:22 -04:00
capture.html feat(design): broadcast ops console redesign sweep 2026-05-17 19:05:22 -04:00
index.html feat(design): broadcast ops console redesign sweep 2026-05-17 19:05:22 -04:00
jobs.html fix(jobs): stall detection + manual kill button so 5h-stuck actives can't happen 2026-05-17 19:10:19 -04:00
login.html feat(splash): transparent PNG so the subject composites cleanly 2026-05-17 18:39:21 -04:00
player.html feat(design): broadcast ops console redesign sweep 2026-05-17 19:05:22 -04:00
recorders.html feat(design): broadcast ops console redesign sweep 2026-05-17 19:05:22 -04:00
settings.html feat: AMPP folder sync integration — pre-create folder hierarchy on upload, expose lookup endpoint for Script Task: settings.html 2026-04-18 13:42:09 -04:00
upload.html feat(design): broadcast ops console redesign sweep 2026-05-17 19:05:22 -04:00