Background workers
Two long-running processes do everything that isn't serving a page. If exactly one thing about your install seems broken — metadata never appears, a transfer sits at zero — the queue worker not running is the most likely cause.
What each one does
| Process | Responsibilities |
|---|---|
php artisan queue:work | Metadata enrichment, transcoding, downloads, server transfers |
php artisan schedule:work | Scheduled library scans, backups, pruning |
The queue is the one people forget. Without it, a server transfer is approved and then sits doing nothing at all; enrichment jobs pile up and metadata never fills in. No error appears anywhere obvious — the work simply doesn't happen.
Keeping them alive per OS
macOS
- Admin → Services — starts, stops and shows logs for both workers, built on launchd. macOS only.
- Or install the shipped launchd plists (
com.soundchex.queue.plist,com.soundchex.scheduler.plist) fromDocumentation & Planning/into~/Library/LaunchAgents/— they start the workers at login. Edit the paths if your clone lives somewhere else.
Linux
systemd user services — a ready-to-adapt unit file is in
Install on Linux. Remember
loginctl enable-linger so they survive logout.
Windows
Run each in its own terminal, or install them as Windows services with NSSM. The Services admin page detects that launchd is absent and says so rather than failing.
Telling that they're running
- Add a file to a watch folder — it should appear in the library after the next scheduled scan without you running anything.
- New items should gain artwork and metadata within minutes (with sources configured).
- On macOS, Admin → Services shows live status and logs.