Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Scheduler Bundle Laravel Package

guikingone/scheduler-bundle

A Symfony bundle for scheduling recurring tasks and console commands with cron expressions. Configure tasks via attributes or YAML, run them with a worker, and use transports to control synchronous or background execution.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Framework fit check before roadmap commitment. The brief frames this as a "Laravel/PHP package," but guikingone/scheduler-bundle is a Symfony bundle. That distinction remains the first and most consequential product decision: if our stack is Laravel, this package is not a candidate — Laravel ships a first-party scheduler (Illuminate\Console\Scheduling) with cron-expression parsing, overlap prevention, and per-environment control already in the framework. If our stack is Symfony, it becomes a legitimate (if minor) build-vs-buy input.
  • Build vs. buy for recurring-task orchestration. The package's value proposition is scheduling and creating repetitive tasks declaratively inside a Symfony app — replacing hand-rolled cron entries, custom Command + crontab glue, or a bespoke task table with a config-driven scheduler. That is a real, recurring product need for background jobs, report generation, sync jobs, cache warming, and lifecycle emails.
  • Symfony-version and migration planning (strengthened by 0.11.0). Release 0.11.0 adds explicit Symfony 8 support alongside a dependency/code-style refresh. That is a meaningful signal for upgrade planning: the bundle is tracking the framework's release cadence rather than pinning to a legacy major, which reduces the risk of it becoming upgrade debt when we move to Symfony 8. We should still verify its supported Symfony/PHP matrix against our pinned versions before committing.
  • Version-maturity risk is now the headline caveat. At 0.11.0 the package is still pre-1.0, so semver does not protect us from breaking API changes on any minor bump. 0.11.0 itself is a dependency-and-hygiene release with no documented new features or deprecations, but the pre-1.0 posture is exactly why any adoption should sit behind an internal interface with a pinned version.
  • Feature scoping for "scheduling" as a product surface. If scheduling is a user-facing feature (customers define their own recurring jobs, with intervals, pause/resume, history), this bundle is a developer-facing configuration tool, not a tenant-facing scheduling engine. That gap determines whether we scope a real product feature or simply reduce ops toil — two very different roadmap items.
  • Observability and operations investment. Any scheduler adoption implies deciding on run history, failure alerting, missed-run detection, lock/overlap semantics, and timezone handling. These are the requirements that actually drive perceived reliability, and they should be captured as acceptance criteria regardless of which library we pick.
  • Vendor concentration and exit cost. With ~116 stars, zero dependents, and a single-maintainer pattern typical of small bundles, the sensible product posture is a thin internal abstraction over the scheduler so that swapping implementations later is a contained change rather than a rewrite. 0.11.0 is evidence of maintenance, not evidence of a support contract.

When to Consider This Package

Consider it when all of the following hold:

  • The application is Symfony (not Laravel, not a plain PHP service, not a non-PHP stack).
  • We are on, or planning to move to, a Symfony version this release covers — 0.11.0's Symfony 8 support should be validated against our actual pinned Symfony/PHP versions rather than assumed.
  • We need cron-like repetitive task execution defined in application code/config rather than as raw crontab entries on a host.
  • The scheduling needs are internal/developer-defined, not customer-configured.
  • We have validated it against the framework's own first-party scheduling offering — Symfony's symfony/scheduler component should be the default comparison point, and if it covers our needs, the decision is effectively made.
  • We can tolerate a small-maintainer, pre-1.0 dependency, ideally behind an internal interface with a pinned minor version, and we have a plan for run history and failure alerting (this package schedules; it does not replace monitoring).

Look elsewhere when:

  • The stack is Laravel. Use the built-in scheduler; there is no reason to introduce a Symfony bundle or a second scheduling paradigm.
  • The first-party option suffices. For Symfony applications, the framework's native scheduler plus Messenger is the lower-risk path for most needs; adopting a third-party bundle should be justified by a specific capability gap, not convenience.
  • We need API stability guarantees. Pre-1.0 means minor releases may break us; if we cannot absorb upgrade churn, wait for a 1.0 or rely on the native component.
  • We need distributed, high-volume, or exactly-once execution. At that point the requirement is an orchestration platform (queue-backed workers, a dedicated scheduler service, or a managed job runner), not an in-process bundle.
  • We need customer-facing scheduling with per-tenant isolation, quotas, UI, and audit trails — build that on top of a queue/worker layer with our own data model.
  • Compliance or support constraints require a vendor with a security response process and named maintainers; a ~116-star bundle with zero dependents does not meet that bar.
  • Operational simplicity is the priority and the team already has mature crontab/CI-runner/container-orchestrator scheduling in place.

How to Pitch It (Stakeholders)

Executives: This is a small, MIT-licensed Symfony add-on for defining recurring background tasks in code instead of scattering cron jobs across servers. It is low-cost to trial and easy to remove, but it is not a strategic dependency — modest adoption (roughly 116 stars, no known downstream dependents) and still pre-1.0. The latest release, 0.11.0, is a housekeeping release that notably adds support for Symfony 8, so the maintenance signal is healthy and our next framework upgrade is not blocked by it. First, correct the framing: it is a Symfony package, so it is only relevant if we are on Symfony; if we are on Laravel, our framework already does this and there is nothing to buy. Second, even within Symfony, the framework ships native scheduling, so the recommended path is to evaluate that first and treat this bundle as a fallback only if it closes a specific gap. Recommendation: no spend, no roadmap commitment — a time-boxed spike against the native component, with this bundle as a contingency.

Engineering: Treat this as a candidate, not a decision. 0.11.0 is a dependency-and-code-style release — Symfony 8 support plus refactors — with no new features and no documented breaking changes, so there is nothing here that changes our evaluation criteria; it does confirm the maintainer keeps pace with framework majors. Validate Symfony/PHP version compatibility, confirm whether symfony/scheduler already meets the requirement, and if we proceed, pin the minor version and wrap it behind a TaskScheduler interface so the concrete library is an implementation detail. Non-negotiables in the acceptance criteria: overlap/locking semantics, missed-run behavior, timezone correctness, and structured run history with failure alerting — the library will not supply the last two on its own. Budget for pre-1.0 churn: minor releases may carry breaking changes, and the interface wrapper is the insurance policy.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator
equipc/laravel-email-database-log
adedsec/nova-translated-labels