Weave Code
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 Laravel Package

symfony/scheduler

Symfony Scheduler Component lets you define recurring and one-off tasks and run them via Symfony Messenger. Supports cron-like schedules, delays, and integration with transports and workers. See docs for configuration, commands, and usage.

View on GitHub
Deep Wiki
Context7

Provides scheduling through Symfony Messenger

Frequently asked questions about Scheduler
Can I use Symfony Scheduler in a Laravel app without Symfony Messenger?
No, Symfony Scheduler is tightly coupled with Symfony Messenger. Laravel’s native queue system (Redis, database, SQS) won’t work out-of-the-box, requiring a custom transport adapter to bridge Messenger and Laravel queues. This adds significant complexity and isn’t recommended unless you’re already using Symfony components.
What PHP version is required for Symfony Scheduler, and how does it conflict with Laravel?
Symfony Scheduler requires PHP 8.4+ for Symfony 8.x, but Laravel 11 maxes at PHP 8.3. Downgrading to Symfony 7.x may limit features like new Messenger transports. If your Laravel app can’t upgrade, this becomes a blocking dependency.
How does Symfony Scheduler’s attribute-based scheduling (#[AsCronTask]) compare to Laravel’s Schedule::job()?
Symfony’s attribute-based approach is less flexible for Laravel’s dynamic needs, like time zones or conditional schedules. Laravel’s `Schedule::job()` or `Schedule::call()` are more adaptable, while Symfony’s system forces a declarative, cron-like pattern that may not align with Laravel’s event-driven workflows.
Will Symfony Scheduler work with Laravel’s Horizon for job monitoring?
No, Horizon has no native integration with Symfony Scheduler. You’d need to build custom event listeners or use Telescope, but this requires manual workarounds. Laravel’s built-in scheduler already supports Horizon, making this a poor fit for monitoring-heavy applications.
What’s the effort to integrate Symfony Scheduler with Laravel’s queue drivers (Redis, database)?
High. You’d need to create a custom Symfony Messenger transport to interface with Laravel’s queue drivers, replicate DI configurations, and handle message serialization. This effort often exceeds the benefits, especially when Laravel’s native scheduler can handle most use cases.
Does Symfony Scheduler support one-off tasks like Laravel’s Schedule::oneShot()?
Yes, but the implementation differs. Symfony uses Messenger’s one-off messages, while Laravel’s `oneShot()` is part of its scheduler API. The syntax and execution flow won’t match, requiring manual conversion or wrapper classes to mimic Laravel’s behavior.
Can I run Symfony Scheduler alongside Laravel’s Artisan scheduler without conflicts?
No, running both `schedule:run` and `scheduler:consume` risks task duplication or race conditions. Symfony Scheduler expects a cron-triggered worker, while Laravel’s scheduler is designed for `schedule:run` in a single process. This inconsistency can break reliability.
Are there Laravel alternatives to Symfony Scheduler for recurring tasks?
Yes. Laravel’s built-in `Schedule::job()` or `Schedule::command()` covers most use cases, and packages like `spatie/schedule-task` or `laravel-horizon` extend functionality. Symfony Scheduler’s only advantage is Messenger integration, which isn’t native to Laravel.
How does Symfony Scheduler handle time zones or daylight saving adjustments?
Symfony Scheduler relies on the system’s cron syntax or PHP’s DateTime, which may not handle time zones as gracefully as Laravel’s scheduler. Laravel’s `Schedule::timezone()` provides built-in support, while Symfony requires manual configuration or custom logic.
What’s the maintenance overhead of using Symfony Scheduler in a Laravel project?
High. Symfony’s DI, Messenger, and Console components introduce foreign dependencies, increasing bundle size and potential version conflicts. Debugging issues across Laravel and Symfony ecosystems will require cross-framework expertise, raising long-term costs.
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.
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope