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

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

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


person Luke Brandon Farrell    schedule 27.03.2018    source источник


Ответы (2)


Под неудачными очередями, я думаю, вы имеете в виду неудачные задания, для этого вам просто нужно реализовать метод 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.

person Asur    schedule 27.03.2018

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

if (app()->bound('sentry') && $this->shouldReport($exception)) {
    app('sentry')->captureException($exception);
}
person Alex Bouma    schedule 27.07.2018