edo/daemons-bundle
A Symfony bundle for running and managing long-running daemon processes in PHP applications. It offers daemon lifecycle control, process supervision, and console integration to help you build reliable background workers.
queue:work + Horizon, Symfony Messenger consumers), or (c) write/bundle an in-process daemon loop like this one. This package represents option (c) and is useful mainly as a reference point when arguing for (a) or (b).while(true) console command. It sharpens the conversation about what "cheap" costs later in reliability and observability.Consider it (or the pattern it encodes) only when all of the following hold:
Look elsewhere when:
queue:work / Horizon with Supervisor. This bundle does not apply.SIGTERM, restart backoff, crash-loop protection, memory-leak guards, health checks, structured logs, metrics. A process supervisor gives these for free; an in-process loop does not.Executive summary: We evaluated edo/daemons-bundle, a small Symfony bundle for turning console commands into long-running background processes. Two conclusions. First, it is not applicable to our Laravel stack — it targets Symfony's console component, so adopting it would mean porting it, not installing it. Second, even on Symfony we would not recommend it: the project has no measurable adoption (zero stars, zero dependents, unrated) and no evidence of maintenance, which makes it an ownership liability rather than a dependency. Recommendation: do not adopt. It does, however, usefully frame the real decision — how we run background work.
For engineering: the reliable pattern is a framework-native worker process kept alive by an external supervisor (Supervisor/systemd, or the container orchestrator), which gives us restarts, graceful shutdown, backoff, and log capture without custom code. Where we need that behavior today, use queue:work/Horizon. If a specific Symfony service ever needs a bespoke loop, we should write and own ~50 lines in-house rather than take on an unmaintained third-party bundle — same effort, full control, no supply-chain risk.
Ask: no budget, no procurement, no pilot. Close the evaluation, and if background processing is on the roadmap, spend the next planning cycle on a supervisor + queue architecture decision instead.
How can I help you explore Laravel packages today?