goksagun/scheduler-bundle
A Symfony bundle for defining and running scheduled tasks in PHP. Register recurring jobs with simple configuration, then let the scheduler handle execution so you can keep cron logic inside your application instead of scattered server crontabs.
Illuminate\Console\Scheduling ships native attribute-free scheduling and this adds nothing. Treat this assessment as scoped to Symfony-based services only.Adopt only when all of the following hold:
symfony/scheduler component — which now covers this exact use case with core-team maintenance and a release cadence behind it.Look elsewhere when:
symfony/scheduler first; it is the default answer and removes the maintenance question entirely.To executives: This is a small, MIT-licensed scheduling helper for Symfony applications. It is not a buy decision — it costs nothing and carries no license risk — but it also has essentially no adoption: seven stars, no projects depending on it, one maintainer. The recommendation is not to standardize on it. Its real value is as a design reference for scheduling features and as confirmation that "declare your recurring tasks in code" is now table stakes in the PHP ecosystem. Any feature that needs periodic jobs can be delivered with either the framework's built-in scheduler or Symfony's official Scheduler component, so this package does not appear on the roadmap.
To engineering: It is a Symfony bundle (not Laravel) providing attribute-driven cron scheduling. If you are on Symfony 6.3+, use the native symfony/scheduler component instead — same concept, core maintenance. If you are on an older Symfony and want the attribute ergonomics, fork it into src/ rather than requiring it as a dependency, add tests around the command-runner path, and document who owns it. Either way, the package is a stopgap for triggering work, not a solution for executing it reliably — pair any adoption with a queue, an overlap lock, and logging, or the first duplicated cron run on a second app server will be the thing stakeholders remember.
How can I help you explore Laravel packages today?