jmose/command-scheduler-bundle

This Symfony bundle will allow you to schedule all your commands just like UNIX crontab

v2.0.0 2018-02-08 17:11 UTC

README

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.x ^3.4|^4 >=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

Screenshots

list

new

new2

Documentation

See the documentation here.

License

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