dev-master
9999999-devSchedule Bundle for Symfony
MIT
The Requires
by Maciej Adamski
1.1.0
1.1.0.0Schedule Bundle for Symfony
MIT
The Requires
by Maciej Adamski
1.0.0
1.0.0.0Schedule Bundle for Symfony
MIT
The Requires
by Maciej Adamski
Wallogit.com
2017 © Pedro Peláez
Schedule Bundle for Symfony
Bundle for simplifying operations with CRON jobs., (*1)
Version 2.x is no longer compatible with Symfony version 4.x. In this case, use version 1.x, (*2)
This Bundle can be installed by Composer:, (*3)
$ composer require m-adamski/symfony-schedule-bundle
Bundle provide functionality to manage CRON jobs by configuration from specified file.
We need to create class implementing Adamski\Symfony\ScheduleBundle\Model\ManagerInterface interface., (*4)
```(php) namespace App\Model;, (*5)
use Adamski\Symfony\ScheduleBundle\Model\ManagerInterface; use Adamski\Symfony\ScheduleBundle\Model\Schedule;, (*6)
class ScheduleManager implements ManagerInterface {, (*7)
public function schedule(Schedule $schedule) {
// TODO: ..
}
}, (*8)
Then we need to complete the configuration - create file ``config/packages/schedule.yaml`` and set path to ScheduleManager: ```(yaml) schedule: manager: App\Model\ScheduleManager
In function schedule we can configure CRON jobs with required expressions.
For example we want run app:test-command daily at 12:00:, (*9)
```(php) public function schedule(Schedule $schedule) { $schedule->command("app:test-command")->dailyAt("12:00"); }, (*10)
Schedule class provide many date-time manipulators. This functionality is inspired by Laravel Tasks Scheduling. ## Schedule Frequency Options There are many schedules that you can assign to your task. | Method | | ---------------------------------------------- | | cron($expression) | | everyMinute() | | everyFiveMinutes() | | cron($expression) | | everyMinute() | | everyFiveMinutes() | | everyTenMinutes() | | everyFifteenMinutes() | | everyThirtyMinutes() | | hourly() | | hourlyAt(int $offset) | | daily() | | at(string $time) | | dailyAt(string $time) | | twiceDaily(int $first = 1, int $second = 13) | | weekdays() | | weekends() | | mondays() | | tuesdays() | | wednesdays() | | thursdays() | | fridays() | | saturdays() | | sundays() | | weekly() | | weeklyOn(int $day, string $time = "0:0") | | monthly() | | monthlyOn(int $day = 1, string $time = "0:0") | | twiceMonthly(int $first = 1, int $second = 16) | | quarterly() | | yearly() | | days($days) | ## CRON Now it's enough to insert only one entry into crontab on server:
MIT, (*11)
Schedule Bundle for Symfony
MIT
Schedule Bundle for Symfony
MIT
Schedule Bundle for Symfony
MIT