【问题标题】:How to handle redis pub/sub in rails如何在 Rails 中处理 redis pub/sub
【发布时间】:2017-06-19 09:23:58
【问题描述】:

我有一个通过 Redis 与 socket.io 应用程序对话的 rails 应用程序。 我可以在 Rails 应用程序上创建一条消息,然后 socket.io 广播它,但我不知道如何处理传入的消息(即我希望服务始终监听 Redis 并处理传入的消息)。 您能告诉我如何实现这一目标吗?

【问题讨论】:

  • 我建议阅读这篇文章old.blog.phusion.nl/2008/08/25/… 虽然有点旧......但它仍然有效......或者你可以查看这个宝石github.com/thuehlinger/daemons。基本上你必须有一个守护进程,你可以在其中调用 Faye.subscribe 到 socket.io。基本是实时引导和接收消息。
  • 或者也许使用 ActionCable ...但老实说,我直到现在才使用过...所以我无法向您提供有关此的详细信息

标签: ruby-on-rails ruby redis socket.io rake


【解决方案1】:

您可以在此处使用 sidekiq gem,默认情况下使用 redis,因此每当您通过 sidekiq 提供的 perform_later 方法将作业排入 redis 时。 Sidekiq 工作人员将在工作人员空闲时运行它。 对于标题中提到的 Pub/sub,您可以使用 Rails 提供的 Action Cable 功能。

【讨论】:

  • 使用 ActionCable,您可以在请求时打开一个套接字。但我希望这个进程在应用程序启动后立即监听 Redis,并一直监听。
  • 我该怎么做?
猜你喜欢
  • 2023-02-12
  • 2015-11-09
  • 1970-01-01
  • 1970-01-01
  • 2015-10-18
  • 2016-01-18
  • 2011-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多