【问题标题】:Polling, web sockets, or comet on a rails appRails 应用程序上的轮询、Web 套接字或彗星
【发布时间】:2011-07-27 20:53:36
【问题描述】:

我正在尝试确定为我的项目做某事的最佳方式,我依赖外部 API/服务,这需要大约 2.5-4 秒的回复时间。

目前我正在使用 javascript 在 DOM 加载后加载 api/data,然后 jquery 更新页面上的部分内容。就像我拥有的​​加载器一样漂亮,它仍然会锁定服务器进程,所以我想使用 delay_job 或其他东西将它移到 Heroku 工作人员中?来自 API 的信息是特定于用户的,而不是 cron 作业中的信息。

我提取的数据只需要每隔几个小时更新一次,并在本地记录在数据库中,所以我猜想像 Pusherapp.com 提供的那样全面的网络套接字会是矫枉过正吗?

我倾向于使用delayed_job 进行轮询并等待状态更新以确定它的完整性。有没有人用delayed_job做到这一点?提示还是注意事项?

谢谢

【问题讨论】:

  • 我使用了大量的推送技术,对于轻量级的使用,pubnub.com 是我发现的最容易实现的。取决于任务是什么。

标签: ruby-on-rails ruby-on-rails-3 heroku polling websocket


【解决方案1】:

是的,你绝对可以用 delay_job 做类似的事情......但最终听起来你需要类似 cron 的东西来安排时间,对吧?或者,你不能在 heroku 上使用 cron 来每隔几个小时运行一次 rake 任务吗?

【讨论】:

  • 不,抱歉,我想我不够具体。它是特定于从 API 中提取的信息的位置/用户。我不能只是批量加载它,这取决于用户。
  • 然后delayed_job 听起来找到了。当用户加载页面时,排队作业。然后轮询看看什么时候完成。
猜你喜欢
  • 2011-03-27
  • 2015-07-15
  • 2011-06-18
  • 1970-01-01
  • 1970-01-01
  • 2014-01-11
  • 1970-01-01
  • 2011-11-16
  • 1970-01-01
相关资源
最近更新 更多