jmose/command-scheduler-bundle

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

Installs: 1 274 004

Dependents: 1

Suggesters: 1

Security: 0

Stars: 329

Watchers: 16

Forks: 123

Open Issues: 39

Type:symfony-bundle

v3.0.1 2020-07-01 14:30 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
3.0 (master) ^3.4|^4.3|^5.0 >=7.2
2.2.x ^3.4|^4.3 >=7.1
2.0.2 (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.