jmose / command-scheduler-bundle
This Symfony bundle will allow you to schedule all your commands just like UNIX crontab
Installs: 1 326 638
Dependents: 1
Suggesters: 1
Security: 0
Stars: 328
Watchers: 16
Forks: 126
Open Issues: 40
Type:symfony-bundle
Requires
- php: ^7.2
- doctrine/doctrine-bundle: ^1.6.10|^2.0
- doctrine/orm: ^2.5.11
- dragonmantank/cron-expression: ^3.0
- symfony/asset: ^3.4|^4.3|^5.0
- symfony/console: ^3.4|^4.3|^5.0
- symfony/form: ^3.4|^4.3|^5.0
- symfony/framework-bundle: ^3.4|^4.3|^5.0
- symfony/templating: ^3.4|^4.3|^5.0
- symfony/translation: ^3.4|^4.3|^5.0
- symfony/twig-bundle: ^3.4|^4.3|^5.0
- symfony/validator: ^3.4|^4.3|^5.0
Requires (Dev)
- ext-pcntl: *
- doctrine/doctrine-fixtures-bundle: ^3.0.0
- liip/functional-test-bundle: ^4.2
- liip/test-fixtures-bundle: ^1.4.0
- php-coveralls/php-coveralls: ^2.0
- phpunit/phpunit: ^8.5
- symfony/css-selector: ^3.4|^4.0|^5.0
- symfony/security-bundle: ^3.4|^4.0|^5.0
Suggests
- ext-pcntl: For using the scheduler daemon
README
This bundle will allow you to easily manage scheduling for Symfony's console commands (native or not) with cron expression.
Versions & Dependencies
The following table shows the compatibilities of different versions of the bundle :
When using Symfony Flex there is an installation recipe.
To use it, you have to enable contrib recipes on your project : composer config extra.symfony.allow-contrib true
Features
- An admin interface to add, edit, enable/disable or delete scheduled commands.
- For each command, you define :
- name
- symfony console command (choice based on native
list
command) - cron expression (see Cron format for informations)
- output file (for
$output->write
) - priority
- A new console command
scheduler:execute [--dump] [--no-output]
which will be the single entry point to all commands - Management of queuing and prioritization between tasks
- Locking system, to stop scheduling a command that has returned an error
- Monitoring with timeout or failed commands (Json URL and command with mailing)
- Translated in french, english, german and spanish
- An EasyAdmin configuration template available here
- Beta - Handle commands with a deamon (unix only) if you don't want to use a cronjob
Screenshots
Documentation
See the documentation here.
License
This bundle is under the MIT license. See the complete license for info.