【问题标题】:Laravel user notification featureLaravel 用户通知功能
【发布时间】:2014-08-24 22:30:24
【问题描述】:

我正在尝试在我正在构建的 Laravel 4 应用程序中实现通知功能。目前只有一种情况会导致发布通知,但它可能会扩展到多个。目前的条件包括当 GroupB 中的用户执行涉及他们的操作时通知 GroupA 的成员。为了论证起见,GroupA 和 GroupB 都不是有限数量的用户,但 GroupB 将大于 GroupA。

我最初的反应是从会话中获取 last_activity 并将其与数据库中的必要表进行比较,以查看之后是否有任何项目基于 created_at 字段。这是假设 Laravel 在请求结束而不是开始时更新 last_activity。我有疑问的是,我必须获取 last_activity,然后为 GroupA 中的用户发出的每个请求在表上进行查找。我认为这不会很好地扩展。

其次,我想到了某种队列?豆茎之类的东西。如果我使用 beanstalk,GroupA 中的用户是否有可能提取与他们相关的所有操作(基于 user_id)而留下不适合他们的操作?或者我需要为每个用户实现一个单独的队列吗?对于可能拥有 1000 多个用户的群组来说,这可能吗?这些队列是否会无限期地保持活动状态,以便用户下次登录时将通知推送给它们并由用户拉入?我以前从未使用过队列,我理解这个概念,但我不确定实现。

让我知道是否还有其他我应该做的事情,以前没有实现过这样的事情。

【问题讨论】:

  • 通知有两种方式,推送和拉取。在拉取的情况下,您可以每 5 分钟(更多/更少)发送一个 AJAX 请求以接收通知。推送是指服务器将数据推送给用户,用户会得到即时通知(如实时聊天)。据我所知,这可以用 Node.js 完成。当我想到通知时,我认为您不需要实时,因此 AJAX 会做得很好。

标签: php laravel laravel-4 notifications queue


【解决方案1】:

附加的链接可能会解决您的问题: http://ryantablada.com/post/an-eloquent-notification-strategy

【讨论】:

    猜你喜欢
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 2019-12-06
    • 2018-08-05
    • 1970-01-01
    • 2020-11-11
    • 2019-04-26
    相关资源
    最近更新 更多