Отправить сообщение об ошибке часовому в очереди Laravel

У меня есть настройка Sentry.io для моего проекта Laravel. Я также использую Очереди.

Мне было интересно, можно ли отправлять неудачные очереди в Sentry? Поскольку они не отправляют автоматически, когда они терпят неудачу.

1

Решение

Под неудачными очередями, я полагаю, вы имеете в виду неудачные задания, для этого вам просто нужно реализовать failed() метод внутри работы:

/**
* Handle a job failure.
*
* @return void
*/
public function failed(\Exception $exception)
{
// Send exception data to sentry.io
// It should catch it by default since it throws an exception
// But you can force a report manually
app('sentry')->captureException($exception);
}

Проверьте, как бороться с неудачными заданиями в Документация Laravel.

4

Другие решения

Если вы добавили следующий фрагмент в свой обработчик ошибок (как описано здесь), все неотслеживаемые исключения (в том числе при создании заданий в очереди) отлавливаются, пока они проходят ->shouldReport() проверять.

if (app()->bound('sentry') && $this->shouldReport($exception)) {
app('sentry')->captureException($exception);
}
2

По вопросам рекламы [email protected]