我正在尝试在我正在构建的Laravel 4应用程序中实现通知功能。目前只有一种情况会导致通知发布,但可能会扩展为多次。当前条件涉及在GroupB中的用户执行涉及它们的操作时通知GroupA的成员。为了论证,GroupA和GroupB都不是有限数量的用户,但GroupB将大于GroupA。
我最初的反应是从会话中获取 last_activity 并将其与数据库中的必要表进行比较,以查看是否在此之后创建了任何项目,基于 created_at < / em>字段。这假设Laravel在请求结束时而不是在开头更新 last_activity 。我怀疑的是,我必须获取 last_activity 然后在表上查找GroupA中的用户发出的每个请求。我认为这不会很好地扩展。
其次,我想到了某种排队?像豆茎一样的东西。如果我使用beanstalk,GroupA中的用户是否可以提取与它们相关的所有操作(基于user_id),而不是那些不适合它们的操作?或者我需要为每个用户实现一个单独的队列吗?这可能是一个可能超过1000个用户的群体吗?这些队列是否会在无限期内保持活动状态,以便在下次登录时将通知推送给用户并由用户拉入?我之前从未使用过队列,我理解这个概念,但我不确定实现。
让我知道如果我还有其他事情要做,之前没有实现过这样的事情。