Bug #89057
closedAltering the arguments of a schedulable Symfony command that is configured in the Scheduler module breaks the module
100%
Description
- Create a Symfony Command with arguments and register it.
- In teh Scheduler module add a task to execute console commands and select your command, save
- Remove one argument in the code again
- Open the Scheduler module
- Exception "The <removed argument name> argument does not exist."
No way to recover from this via backend.
Problem is in sysext:scheduler/Classes/Task/ExecuteSchedulableCommandTask.php
on line 113 where $input = new ArrayInput($this->getArguments(), $schedulableCommand->getDefinition());
is called. The defintion is read by Symfony fron the actual PHP file of the command, but the arguments are read from the additonal fields.
Some check whether the defintion has changed against the stored arguments has to happen there. Without such a check changing an existing task is basically not possible without breaking the scheduler (inducing manually fixing scheduler tasks via DB, not even a console command exists to fix such a state).
Updated by S P about 5 years ago
- Subject changed from Altering the arguments of a schedulable Symfony command that is configured in teh Scheduler module breaks the module to Altering the arguments of a schedulable Symfony command that is configured in the Scheduler module breaks the module
Updated by Gerrit Code Review over 4 years ago
- Status changed from New to Under Review
Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/63599
Updated by Gerrit Code Review over 4 years ago
Patch set 1 for branch 9.5 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/63578
Updated by Susanne Moog over 4 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset 73b2c9eb02cbf9c94b97154cd288b380c49beaad.