0

我们一直在开发基于社交媒体的 Rails 应用程序,它可以挖掘各种服务的数据,例如 twitter、facebook、linkedin 等等。我们在使用这些服务时面临着严重的性能问题。

例如,我们正在访问 Twitter user_timeline 以准备一些统计信息。由于 twitter 对可以获取的推文数量施加了限制,我们必须使用分页来获取所有推文,这会导致多个 API 调用和阻塞 IO。因此,用户必须等待很多秒,这是不可接受的 UX。

我们是 Ruby/Rails 的新手,需要正确地架构/设计使用此类 API(Facebook、LinkedIn)的建议。请帮助我们。

更新 我们一直在探索 ruby​​(delayed_job, eventmachine) 和非 ruby​​(node.js) 解决方案。

4

1 回答 1

0

通常在 Rails 世界中,如上所述的登录运行进程是通过后台服务完成的。

后台服务就像 Java 中的线程。你的工作流程是

  1. 用户来到网页
  2. 用户点击查看推文按钮(这将触发通过 twitter api 提取数据)
  3. 推文提取作为后台进程启动
  4. 页面将加载而无需等待 api 提取完成

并且有几个后台进程gem delay_jobsidekiq

于 2013-02-18T05:41:39.473 回答