【发布时间】:2014-04-04 17:55:43
【问题描述】:
我有一个 Rails 3 应用程序,它允许用户通过 API 对第三方数据库执行搜索。它可能会带回相当多的 XML 数据。此外,该 API 可能正忙于为其他用户提供请求,并在其响应时间上有不小的延迟。
我只运行 2 个网络服务器,所以我显然无法承受延迟请求。我使用Sidekiq 来处理长时间运行的作业,但在所有我需要的情况下,我不必将值返回到屏幕。
当后台作业完成时,我还使用Pusher 与用户进行通信。我正在检查它,但我不知道它是否可以用于我想要推送到屏幕上的那种数据。现在它只是弹出带有我发送消息的对话框。
我想到了一些非常古怪的东西,比如通过 Sidekiq 运行请求,将结果发送到会话对象或文件,然后使用 Pusher 启动某种事件来获取数据并用它填充屏幕。看起来有点像 Rube Goldberg 风格。
感谢任何人就该问题提供的任何帮助或见解!
【问题讨论】:
-
明确一点,需要在后台任务完成时向客户端发回大量数据?您应该能够通过 Pusher 发回任意数量的 json。我在这里错过了什么?
-
我很快就达到了 10K 的限制。
标签: ruby-on-rails ruby-on-rails-3 sidekiq pusher