/CommandSchedulerBundle

Symfony bundle that will allow you to schedule all your commands just like unix crontab, with a nice admin panel

Primary LanguagePHP

CommandSchedulerBundle

SensioLabsInsight Build Status Coverage Status Latest Stable Version

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 :

Version Symfony PHP
2.1|2.2 ^3.4|^4.3 >=7.1
2.0.x (unmaintained) ^3.4|^4.1 >=5.6
1.2.x (unmaintained) ^2.8|^3.0 >=5.5
1.1.x (unmaintained) ^2.3 >=5.3

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

list

new

new2

Documentation

See the documentation here.

License

This bundle is under the MIT license. See the complete license for info.