laravel - 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 集群中除外。是否有任何因素导致它不被处理?
解决方案
更新: 我设法找出导致进程失败的原因是因为我将 Eloquent 模型传递给 Notification 类。我已将数据转换为数组,并且广播运行良好。
意识到最好将数组传递给toBroadcast函数而不是 eloquent 对象。
推荐阅读
- javascript - Highcharts.js 问题:是否可以始终将图表的某些部分保留在可见区域中,即使设置了“overscoll”选项
- java - Java - 解密:javax.crypto.BadPaddingException
- python - 获取由标签索引的图像的像素值
- javascript - 如何剪辑背景图像并使用动画移动它?
- javascript - 有没有办法通过手机控制基于桌面three.js 的网络应用程序?
- javascript - 如何使用裁剪网格显示图像预览以使用户将图像拖动到固定大小
- scala - 使用 set.add 时,使用 mutable.Map 和 mutable.Set 折叠不起作用
- amazon-web-services - 从控制台备份/版本控制 AWS AppSync
- c# - 如何使用 c# 在 SSMS(SQL Server Management Studio) 17 的标题栏中设置自定义文本
- singleton - EJB Singleton 是否同步?