imper86/jobby-cron-bundle
A Symfony bundle that integrates the Jobby cron manager, letting you define and schedule cron jobs in application configuration, run them from a single crontab entry, and keep job definitions versioned with your code.
jobbyphp/jobby) already solves the hard part: writing/rewriting crontab entries, per-job output capture, overlap locking, error thresholds and email alerts. A PM facing a "we need a way to manage cron jobs" backlog item should treat this as a buy/borrow candidate and redirect engineering effort to product work — with the caveat below that the bundle itself is thin glue, not the value.app/Console/Kernel.php, schedule:run) already covers this, and adding Jobby on top creates two competing scheduling idioms. If the estate is Symfony, or mixed with a standalone PHP worker tier, this becomes a live option.Consider it when all of these hold:
Look elsewhere when:
Also flag: using jobbyphp/jobby directly is often the better call than the bundle. The bundle's contribution is DI/configuration wiring — perhaps tens of lines. Evaluate the library first; only take the bundle if the Symfony config ergonomics genuinely save you work.
To executives: A low-cost (MIT) option to eliminate a class of operational failures — overlapping cron runs, jobs that fail silently, and schedule changes that require SSH access to production. It converts fragile server crontabs into reviewed configuration. Cost is essentially zero; the real cost is ownership, since the wrapper is a small single-maintainer project we should fork and pin rather than depend on. Recommend a timeboxed pilot on one Symfony service, not a platform standard.
To engineering: Jobby gives us crontab manipulation, output logging, overlap locking and failure alerting out of the box; this bundle adds Symfony DI config on top. It's a thin, unmaintained wrapper — plan to vendor it. If the team is Laravel, don't bother; the native scheduler wins. If we need real orchestration (retries, dependencies, multi-host), this is the wrong shape and we should scope a queue-based scheduler instead.
How can I help you explore Laravel packages today?