Feature: #85991 - Exclude Symfony Commands from Scheduler

See forge#85991

Description

TYPO3's Scheduler system extension added a feature to call a Symfony / command repeatedly, however it is very helpful if an extension author can decide to explicitly define a command to be "non-schedulable" like the installation of an extension or the listing of syslog information which act as helpers on the command line.

This feature is the equivalent to Extbase's @cli annotation for command controllers, and thus finishes the Scheduler integration for Symfony commands in TYPO3.

Impact

A registered Symfony command can now have a new option schedulable which can be set to false for commands that should only be executed specifically by TYPO3's CLI interface.

The default value is true which means that every Symfony command can be used in the Scheduler.

An example file within EXT:myextension/Configuration/Commands.php could look like this:

return [
    'admins:delete' => [
        'class' => \ACME\MyExtension\Command\DeleteAllAdministratorsCommand::class,
        'schedulable' => false,
    ]
];
Copied!

The command could still be executed via .../typo3 admins:delete but not be set up as Scheduler task in the TYPO3 backend.