herokuのレールを使用してストリーミングAPI(TwitterストリーミングAPIなど)をどのように消費しますか?ストリームを消費するワーカーでスクリプトを実行し続ける必要がありますか?これを文書化した既存のリソースがあれば、リンクしてください。これまでのところ、あまり見つけることができませんでした。
質問する
563 次
2 に答える
3
2つのオプションは、ワーカー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
于 2012-09-08T14:01:15.790 に答える