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
Taskschedulerbundle

Taskschedulerbundle Laravel Package

rewieer/taskschedulerbundle

TaskSchedulerBundle makes it easy to schedule recurring PHP tasks with cron-style expressions. Register tasks as services, run them through a single console command, and manage background jobs cleanly in Symfony applications without extra infrastructure.

View on GitHub
Deep Wiki
Context7

Task Scheduler with CRON for Symfony

Frequently asked questions about Taskschedulerbundle
Is TaskSchedulerBundle a Laravel package or a Symfony bundle?
TaskSchedulerBundle is a Symfony bundle, not a Laravel package. Its architecture uses bundle registration, Symfony DI container configuration, and console command integration rather than Laravel service providers. If your target application is Laravel, treat this package as a design reference instead of a direct dependency. Confirm your framework target before planning any integration work.
How do I install rewieer/taskschedulerbundle with Composer?
Install it with Composer using the exact package name published on Packagist, then register the bundle in your Symfony application. The repository is named rewieer/taskschedulerbundle, but evaluation notes reference an ancyrweb/TaskSchedulerBundle publish name, so verify the vendor name before requiring it. With Symfony Flex the bundle may be registered automatically; otherwise add it to config/bundles.php. Pin the version explicitly rather than using a floating constraint.
How do I define a recurring background task as a service?
You define each scheduled job as a reusable service and register it with the bundle's configuration, assigning the interval or cron-style expression that controls when it runs. The bundle then dispatches due tasks from a single console command instead of requiring separate crontab entries per job. Keeping task logic in services means it stays testable and versioned with your codebase. Check the bundle's configuration reference for the exact service tagging and interval syntax for your version.
How does the single cron entry scheduling model work?
You add one system cron entry that invokes the bundle's console command at a regular tick. On each run the command evaluates all registered tasks, determines which are due, and executes them. This keeps scheduling logic inside your application rather than scattered across multiple crontab files. It also means the accuracy of your schedules depends on how often that single cron entry fires.
Does TaskSchedulerBundle prevent overlapping task runs?
Yes, the bundle includes built-in locking to prevent overlapping runs of the same task. This matters most for long-running jobs that could still be executing when the next tick arrives. You should still verify lock behavior for your specific task durations, especially after upgrading, because timing changes can affect how often a task becomes due. Test with a representative long-running task before relying on it in production.
Which PHP and Symfony versions does version 0.13.0 support?
The provided release notes do not state PHP or Symfony version requirements, so check the package's composer.json and Packagist metadata for 0.13.0 before adopting it. Because the project is on 0.x versioning, semver gives no compatibility guarantee across minor releases. Confirm the maintainer's stated support window and whether your Symfony version is covered. Do not assume support based on the bundle's age alone.
What changed in 0.13.0 for long-running tasks and current time handling?
Version 0.13.0 changes when the scheduler samples the clock: it determines the current time before the first task is run, to support long-running tasks. That is a behavioral change in execution timing rather than a public API break, and the release notes do not describe user-facing configuration for it. Schedules that depend on exact wall-clock alignment, drift correction, or catch-up runs may behave differently after upgrading. Validate execution timestamps against your existing mechanism before rolling it out.
Can I use TaskSchedulerBundle instead of Symfony's native scheduler component?
You can evaluate it as an alternative, but the two occupy a similar slot in a Symfony application. Before adopting this bundle, decide explicitly whether the native symfony/scheduler component already covers your recurring task needs. If it does, document why the extra dependency is justified. If it does not, record the specific gap so the decision stays reviewable later.
How should I test scheduled tasks with this bundle before production?
Validate in a non-production environment with schedule definitions that represent your real jobs. Run through at least one full scheduling cycle and include a long-running task so you can observe clock sampling and locking behavior. Compare execution timestamps against whatever mechanism you use today, especially for daily jobs or cron-equivalent expressions. Pin 0.13.0 during testing rather than using a floating constraint.
Should I use a floating ^0.13 constraint for TaskSchedulerBundle?
No. Because the package is on 0.x versioning, patch and minor releases can include behavioral changes without a compatibility guarantee, as 0.13.0 itself demonstrates with its timing change. Pin the exact version, such as 0.13.0, and upgrade deliberately after reviewing the release notes. Also confirm whether the stricter code style change affects only development tooling or any shipped files, since that can break CI for forks and local patches.
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.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core
nodisrupt/laravel-agent
sierratecnologia/media-manager