4

一个人如何在 heroku 上使用带有 rails 的流 api(如 twitter 流 api)?它是否涉及让脚本与消耗流的工作人员一起运行?如果有任何现有的资源记录这个请链接,到目前为止我还没有找到太多。

4

2 回答 2

3

您的两个选择是使用 worker dyno 来运行使用流并将其写入数据存储(您的数据库等)的脚本,或者在您的 rails 应用程序中动态获取流的一部分作为响应的一部分到 HTTP 请求。

其中哪一个对您有意义取决于您尝试对数据执行的操作以及您需要多少流。

于 2012-04-21T00:06:10.837 回答
1

对不起,这个软答案,这些代码或想法都不是我自己的......

在 Heroku 上不使用后台工作程序的情况下使用流 API 的最简单方法是使用 EventMachine

在模型中,你会做这样的事情:

EM.schedule do
  http = EM::HttpRequest.new(STREAMING_URL).get :head => { 'Authorization' => [ 'USERNAME', 'PASSWORD' ] }
  buffer = ""
  http.stream do |chunk|
    buffer += chunk
    while line = buffer.slice!(/.+\r?\n/)
      handle_tweet JSON.parse(line)
    end
  end
end

有关详细信息,请查看Adam WigginsJoslyn EsserKenne Jima

于 2012-09-08T14:01:15.790 回答