Episode Details

Back to Episodes
Homebox Fork's Two Backend Scripts Need a Real Job Runner

Homebox Fork's Two Backend Scripts Need a Real Job Runner

Episode 5870 Published 1 week, 6 days ago
Description
Daniel's Homebox fork added two backend scripts the upstream project was never designed to host: one converts new images to WebP and rewrites database references, the other sends images through a vision model to extract serial numbers without overwriting existing data. Both are incremental and both are deferred so the fast path stays fast. The problem is what runs them. Upstream Homebox ships a background runner with a name, an interval, and a function — no queue, no persistence, no retry, no record. Cron silently skips overlapping runs and multiplies jobs across instances. The episode walks through the standard three-part answer (cron, workers, queues), leader election via Redis or Postgres advisory locks, why CPU-bound encoding and I/O-bound vision calls need separate pools, and what actually exists in the self-hosted orchestration space: Dagu, Cronduit, Cinnamon, and a long tail that mostly ends in a web UI bolted onto crontab. Key sources: • original Homebox repo (structure, README, Dockerfile) — https://github.com/hay-kot/homebox • Homebox background task runner source — https://github.com/sysadminsmedia/homebox/blob/main/backend/app/api/bgrunner.go • Homebox background service source — https://raw.githubusercontent.com/sysadminsmedia/homebox/main/backend/internal/core/services/service_background.go Episode 5870 — myweirdprompts.com/n/5870 (permanent short link: myweirdprompts.com/762841)
Listen Now

Love PodBriefly?

If you like Podbriefly.com, please consider donating to support the ongoing development.

Support Us