Уведомление Laravel транслируется, когда соединение с очередью установлено на базу данных, а не когда установлено перенаправление - PullRequest
0 голосов
/ 18 апреля 2019

Я столкнулся с этой странной проблемой, у меня есть уведомление 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

Какую ошибку я допустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...