Feature #100946
open
Scheduler: More details via mail on failed task
Added by Philipp Kitzberger about 1 year ago.
Updated 6 days ago.
Sprint Focus:
On Location Sprint
Description
In the mail received on a failed scheduler task it would be helpful to have more information available that helps identifying the problematic task. Currently there's only the stack trace but e.g. not the id of the scheduler task itself. Other informations might be helpful too.
Sure, the failed task is marked as failed
in the BE, but that's not a persistent information we can rely on. The subsequent run of that task might have ran smoothly again. And still I might wanna look into that one that failed.
- Due date set to 2019-02-28
- Start date changed from 2023-06-02 to 2019-02-28
- Follows Feature #87806: Scheduler: Send email on error added
- Description updated (diff)
- Start date deleted (
2019-02-28)
- Complexity set to easy
- Due date deleted (
2019-02-28)
- Sprint Focus set to On Location Sprint
- Status changed from New to Needs Feedback
@Garvin Hicking, yes, that is kinda related, but not changing the contents of the cronjob MAILTO mail. I'd like to have ID and name of the failed scheduler task included in that mail.
Philipp Kitzberger wrote in #note-5:
@Garvin Hicking, yes, that is kinda related, but not changing the contents of the cronjob MAILTO mail. I'd like to have ID and name of the failed scheduler task included in that mail.
Do you have an example mail you get and how it looks with the patch above applied? I thought that the stdterr would contain the contents of the error logger, but this is not the case? I don't have a setup where I could easily investigate this, do you happen to know an easy way to make a scheduler task fail and generate the output that is used for a MAILTO command?
Hm, simply add this to EXT:scheduler/Classes/Example/TestTask.php->execute()
:
throw new \Exception('Boom!');
Then add a task of that class to the scheduler and call it via:
$ bin/typo3cms scheduler:run --task=1 --force
[ERROR] Boom!
That message is what's been sent as mail content. Which is not exactly helpful at all.
Your patch doesn't change that. But I guess modifying SchedulerCommand.php
would do the trick:
try {
$this->executeOrStopTask($task);
} catch (\Exception $e) {
$this->io->getErrorStyle()->error($e->getMessage());
...
Maybe just output a bit more than just the exceptions message. A 2nd line with scheduler id and title would already be an improvement.
Ah, I see - if Exceptions are involved that's another thing.
Your patch idea looks promising, would you like to implement/propose that as a core patch, or should I?!
Also available in: Atom
PDF