g4/cron
g4/cron provides cron scheduling utilities for Laravel and PHP applications, helping you define and manage recurring tasks with cron expressions. A lightweight way to organize scheduled jobs and keep timed workflows predictable.
dragonmantank/cron-expression parser, it shifts the decision from "do we write a cron parser?" to "do we vendor ~a few hundred lines and own them?" That's usually a much cheaper internal decision than a greenfield build.dragonmantank/cron-expression transitively. Adopting this does not modernize or extend the scheduler itself.Consider it when all of the following hold:
Look elsewhere when:
dragonmantank/cron-expression directly — it's the mature upstream, it's already in your dependency tree via Laravel, and it carries the community, tests, and CVE attention this package does not.To executives (one paragraph): We have a small class of roadmap features — frequent polling, fast retries, near-real-time status checks — that standard one-minute cron can't express. There's a small open-source MIT-licensed parser that handles seconds-level schedules and is based on a well-established library we already depend on indirectly. The cost to evaluate is a couple of engineering days; the cost to adopt is low because it's a few hundred lines of source we can own outright. The risk is maintenance, not licensing: it has essentially no user base and hasn't shipped since late 2023. Recommendation: fund a timeboxed spike to prove the seconds-granularity path, and if it works, vendor the code and treat it as first-party rather than as an external dependency we rely on someone else to keep alive.
To engineering: Treat this as reference source, not a dependency. It's a thin derivative of dragonmantank/cron-expression with seconds-field support; that's the whole value proposition. Before adopting, confirm the seconds semantics you need, write tests for DST and boundary cases, decide whether to fork or vendor, and confirm you're not accidentally introducing a second cron-parsing implementation alongside Laravel's built-in one — a duplicate-parser code path is a real long-term cost for a marginal feature. If the requirement turns out to be minute-level after all, drop this and use the upstream library.
How can I help you explore Laravel packages today?