Laravel 5.3 - 防止过多通知?

时间:2016-10-06 16:01:56

标签: php notifications laravel-5.3

我的laravel 5.3应用程序在照片被评论或喜欢时为用户创建数据库通知。

如果某些内容经常受欢迎且不受欢迎,则用户会收到大量通知,例如,只有一个新的Like

通知功能可能会sleep()持续5分钟,然后在创建通知之前检查LikeComment是否仍然存在。但是我仍然必须以某种方式锁定'它没有创建太多的通知(?)。

laravel(队列,' lock' -column或table)或其他简单解决方案中是否已包含某些内容?

感谢您的建议。

2 个答案:

答案 0 :(得分:1)

我认为更好的解决方案是在代码(某个类)或数据库中的某处设置偏移量。

在发送通知之前,您可以查看:

如果上次通知时间+ 5分钟<当前时间 - 发送新通知。

答案 1 :(得分:1)

您可以延迟Laravel延迟工作():https://laravel.com/docs/5.2/queues#delayed-jobs

为避免发送多个通知,我会使用xpuc7o的方法。为了使事情更快,我将它存储在memcache而不是db中。