首页 > 解决方案 > Laravel 广播通知不起作用。它一直在处理

问题描述

我正在通过广播频道使用 Laravel 通知。

除了这一通知外,其他通知工作正常。它只是停留在处理状态,等待几个小时后不会得到处理。

这是运行时显示的日志示例

php artisan queue:work redis --queue=default

[2021-06-20 03:03:18][KzdWk12nVnZ1kHW88SjVNF3QoLF7ZPUe] Processing: Illuminate\Notifications\Events\BroadcastNotificationCreated
[2021-06-20 03:03:18][KzdWk12nVnZ1kHW88SjVNF3QoLF7ZPUe] Processed: Illuminate\Notifications\Events\BroadcastNotificationCreated
[2021-06-20 03:02:39][eQowR72smPimD9jmOhzQ2cQOw3zVd9wF] Processing: Illuminate\Notifications\Events\BroadcastNotificationCreated
[2021-06-20 03:02:39][eQowR72smPimD9jmOhzQ2cQOw3zVd9wF] Processed: Illuminate\Notifications\Events\BroadcastNotificationCreated
[2021-06-20 03:04:13][JAFReaqFrbxXo9wn3LxbbOPIvgnLdCGK] Processing: Illuminate\Notifications\Events\BroadcastNotificationCreated

我使用redis作为队列的连接。它在本地工作,但在 AWS ECS 集群中除外。是否有任何因素导致它不被处理

标签: laravelbroadcastlaravel-echo

解决方案


更新: 我设法找出导致进程失败的原因是因为我将 Eloquent 模型传递给 Notification 类。我已将数据转换为数组,并且广播运行良好。

意识到最好将数组传递给toBroadcast函数而不是 eloquent 对象。


推荐阅读