我的laravel 5.3应用程序在照片被评论或“喜欢”时为用户创建数据库通知。Laravel 5.3 - 防止太多通知?
如果经常喜欢和不喜欢的东西,用户会收到很多通知,例如,只有一个新的Like
。
也许通知功能可能在sleep()
5分钟,然后在创建通知之前检查Like
或Comment
是否仍然存在。但是,我仍然必须以某种方式'锁定'它没有太多的通知创建(?)。
laravel(队列,'锁' - 列或表)还是其他简单的解决方案中已包含?
感谢您的咨询。
我的laravel 5.3应用程序在照片被评论或“喜欢”时为用户创建数据库通知。Laravel 5.3 - 防止太多通知?
如果经常喜欢和不喜欢的东西,用户会收到很多通知,例如,只有一个新的Like
。
也许通知功能可能在sleep()
5分钟,然后在创建通知之前检查Like
或Comment
是否仍然存在。但是,我仍然必须以某种方式'锁定'它没有太多的通知创建(?)。
laravel(队列,'锁' - 列或表)还是其他简单的解决方案中已包含?
感谢您的咨询。
我认为更好的解决方案是在代码(某些类)或数据库中的某处设置偏移量。
比之前发出通知,您可以检查:
如果最后通知时间+ 5分钟<当前时间 - 发送一个新的通知。
可以推迟Laravel与延迟()工作:https://laravel.com/docs/5.2/queues#delayed-jobs
而且为了避免重复发送通知,我会用xpuc7o的做法。为了让事情更快,我会将它存储在memcache中,而不是db。