У меня есть рабочий проект, написанный на laravel, я интегрировал Sentry для отслеживания ошибок, я следовал инструкциям на их сайте, в основном просто
композитор требует часового / караульного-ларавела
и в моем приложении / Исключения / Handler.php
if (app()->bound('sentry') && $this->shouldReport($exception)) {
app('sentry')->captureException($exception);
}
Теперь это работает нормально, я вижу ошибки в часовом.
Но на другом конце приложения везде, где я использую очередь, например, у меня есть уведомление «забыл пароль», и оно практически реализует класс ShouldQueue:
<?php
namespace App\Notifications\Auth;
use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Notification;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
class PasswordResetRequest extends Notification implements ShouldQueue
{
use Queueable;
protected $token;
public function __construct($token)
{
$this->token = $token;
}
public function via($notifiable)
{
return ['mail'];
}
public function toMail($notifiable)
{
$url = url('/password/find/'.$this->token);
return (new MailMessage)
->line('You are receiving this email because we received a password reset request for your account.')
->action('Reset Password', url($url))
->line('If you did not request a password reset, no further action is required.');
}
}
И когда триггер работает должным образом, у меня появляется новая запись в таблице заданий (у меня есть база данных в качестве драйвера очереди)
теперь, когда я начинаю свой рабочий
php artisan queue: work
он глохнет, работает последняя работа снова и снова
![laravel queue worker](https://i.stack.imgur.com/bzYcY.png)
почта не отправлена или не получена ...
Кстати, это только когда у меня есть отчеты в часовом, если я удаляю эти строки в App / Exceptions / Handler.php в методе report (), это все хорошо, также, если я удаляю очередь из уведомлений, она работает, только Комбинация сообщений об ошибках и очереди уведомлений делает меня большой проблемой.