Commit graph

21 commits

Author SHA1 Message Date
717fdcd611 feat: extract and store fps/codec/resolution/duration_ms from source file
Uses getMediaInfo (ffprobe) on the downloaded original before transcoding.
Populates the asset record so the library can display accurate metadata.
2026-05-18 23:22:56 -04:00
817eaff8b1 feat: add getMediaInfo to executor.js using ffprobe JSON output
Exposes video stream fps/codec/resolution and container duration/size
so the proxy worker can populate asset metadata after transcoding.
2026-05-18 23:22:26 -04:00
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
cc174c4977 Fix worker/index.js: job.progress is a property not a function in BullMQ v3+ 2026-05-16 00:46:53 -04:00
0bdfbaf130 fix(infra+workers): S3 creds, ffprobe, BullMQ awaits, thumbnail seek, bin optional, docker-compose vars, jobs Redis, recorders stop codes: thumbnail.js 2026-05-16 00:29:51 -04:00
647cf55389 fix(infra+workers): S3 creds, ffprobe, BullMQ awaits, thumbnail seek, bin optional, docker-compose vars, jobs Redis, recorders stop codes: proxy.js 2026-05-16 00:29:50 -04:00
8be9c20124 fix(infra+workers): S3 creds, ffprobe, BullMQ awaits, thumbnail seek, bin optional, docker-compose vars, jobs Redis, recorders stop codes: executor.js 2026-05-16 00:29:49 -04:00
b2da06b4cc fix(infra+workers): S3 creds, ffprobe, BullMQ awaits, thumbnail seek, bin optional, docker-compose vars, jobs Redis, recorders stop codes: client.js 2026-05-16 00:29:48 -04:00
47c113e6c3 fix(auth+bugs): optional auth bypass, login routes, conform column name, panel metadata fields, login page: conform.js 2026-05-15 23:40:13 -04:00
6aff3cabc0 fix: set asset status=ready after thumbnail completes 2026-05-15 21:26:22 -04:00
10949bc460 fix: dispatch thumbnail job after proxy completes instead of racing from upload route 2026-05-15 21:26:16 -04:00
5bc6cf7c17 add services/worker/src/ffmpeg/executor.js 2026-04-07 21:58:21 -04:00
9e2833ba85 add services/worker/src/db/client.js 2026-04-07 21:58:20 -04:00
76e15b4b76 add services/worker/src/edl/parser.js 2026-04-07 21:58:20 -04:00
0537b7ab44 add services/worker/src/s3/client.js 2026-04-07 21:58:20 -04:00
7a677fe36e add services/worker/src/workers/proxy.js 2026-04-07 21:58:19 -04:00
a97804bcb3 add services/worker/src/workers/thumbnail.js 2026-04-07 21:58:19 -04:00
1ff7ff8d2b add services/worker/src/workers/conform.js 2026-04-07 21:58:19 -04:00
1a1f34a468 add services/worker/src/index.js 2026-04-07 21:58:18 -04:00
b2d0072104 add services/worker/package.json 2026-04-07 21:58:18 -04:00
167bf25443 add services/worker/Dockerfile 2026-04-07 21:58:18 -04:00