Я столкнулся с этой странной проблемой, у меня есть уведомление App\Notifications\SomethingHappened
.
Я использую пакет laravel-websockets.У меня установлено соединение с очередью для базы данных, и мой класс уведомлений, который реализует интерфейс ShouldQueue
, имеет следующие методы to*
: toArray()
, toMail()
и другой пользовательский канал.
Кроме того, via()
Метод имеет следующие каналы: database
, broadcast
и условно (если у пользователя есть электронная почта), mail
.
Мой маршрут широковещания в channels.php
выглядит следующим образом:
Broadcast::channel('App.User.{id}', function ($user, $id) {
return (int) $user->id === (int) $id;
});
У меня нет метода toBroadcast()
, поскольку в документации предлагается, чтобы
Метод toArray также использовался широковещательным каналом для определения того, какие данные будут транслироваться вашему клиенту JavaScript..
Когда мое соединение с очередью установлено на database
, уведомление передается клиенту должным образом.Вот журнал:
[2019-04-18 09:29:42][1] Processing: App\Notifications\SomethingHappened
[2019-04-18 09:29:46][1] Processed: App\Notifications\SomethingHappened
[2019-04-18 09:29:46][2] Processing: App\Notifications\SomethingHappened
[2019-04-18 09:29:47][2] Processed: App\Notifications\SomethingHappened
[2019-04-18 09:29:47][3] Processing: App\Notifications\SomethingHappened
[2019-04-18 09:29:47][3] Processed: App\Notifications\SomethingHappened
[2019-04-18 09:29:47][4] Processing: App\Notifications\SomethingHappened
[2019-04-18 09:29:47][4] Processed: App\Notifications\SomethingHappened
[2019-04-18 09:29:47][5] Processing: Illuminate\Notifications\Events\BroadcastNotificationCreated
[2019-04-18 09:29:47][5] Processed: Illuminate\Notifications\Events\BroadcastNotificationCreated
Обратите внимание на последний процесс.Но когда я установил соединение с очередью на redis
, я получаю следующее:
[2019-04-18 09:24:25][3] Processing: App\Notifications\SomethingHappened
[2019-04-18 09:24:25][3] Processed: App\Notifications\SomethingHappened
[2019-04-18 09:24:25][4] Processing: App\Notifications\SomethingHappened
[2019-04-18 09:24:26][4] Processed: App\Notifications\SomethingHappened
[2019-04-18 09:24:25][1] Processing: App\Notifications\SomethingHappened
[2019-04-18 09:24:25][2] Processing: App\Notifications\SomethingHappened
[2019-04-18 09:24:27][2] Processed: App\Notifications\SomethingHappened
[2019-04-18 09:24:28][1] Processed: App\Notifications\SomethingHappened
Какую ошибку я допустил?