Download the PHP package rewieer/taskschedulerbundle without Composer
On this page you can find all versions of the php package rewieer/taskschedulerbundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package taskschedulerbundle
Task Scheduler Bundle
A task scheduler for Symfony applications using CRON jobs porting that allows you to run tasks periodically.
Requirements
For this bundle to work, you must be able to define CRON jobs on your server.
Installation
Start by adding the bundle to your composer.json : composer require rewieer/taskschedulerbundle
Symfony Flex will automatically enable that bundle for you. If you are not using Flex yet, add the bundle to your AppKernel.php :
You're ready to start scheduling!
Usage
First, add the following line to your CRON tabs : * * * * * php /path/to/your/project/bin/console ts:run >> /dev/null 2>&1
This will call the scheduler, which will review all scheduled tasks and dispatch accordingly. You can call a task directly by providing it's ID as a parameter to the command. Note that this ID is generated by the scheduler and is in no way related to the service itself.
The
>> /dev/null 2>&1
option discards the printed results of the tasks. Removing it allows to send it by email instead. This may vary so please refer to your server's configuration.
You then need to create a task. Tasks can be any service! You just have to give it the ts.task
tag and implement TaskInterface
, or for simplicity extend from AbstractScheduledTask
.
Every X Minutes
In Foo\Bar\Task
to schedule a task every 5 minutes:
Your task is now scheduled and will be called every 5 minutes.
Every X Hours or Daily
if you are scheduling your task on an hourly or daily basis, you'll need to set minutes()
in addition to hours()
, everyHours()
, or daily()
. If you omit minutes()
, the task will run every minute on the scheduled hour(s).
In Foo\Bar\Task
to schedule a task every 5 hours:
You're good to go! You can now check your logs to see if this is working.
All versions of taskschedulerbundle with dependencies
symfony/deprecation-contracts Version ^2.5|^3.4
symfony/framework-bundle Version ^5.4|^6.4|^7.0
symfony/console Version ^5.3|^6.4|^7.0
dragonmantank/cron-expression Version ^3.3