Herokuでのたぶん一番かんたんなTwitter Streaming APIの使いかた
herokuのドキュメントでは、こんなのが紹介されています。
Consuming the Twitter Streaming API
twitter-stream.gem を使いましょう。あのearthquake でも使われているようです。
サンプルコードから、認証にOAuthを使うようにして、tweetを受けとるたびにPusherに送るとこんな感じです。
marutanm/twitter-stream-pusher · GitHub
APIキーなんかは環境変数に入れて、herokuのcedarスタックでworkerプロセスとして動作させることを想定しています。
さて、workerプロセスを動かした場合、webプロセスはどうするか?herokuではプロセスふたつ動かすとお金がかかってしまいます。ひとつの手段としては、webプロセスは別のアプリケーションにするのが考えられますね。
workerプロセスでstreamingを処理してpusherへ送信、webプロセスではページを提供しつつpusherからwebsocketで受け取る。便利ですね、herokuも、pusherも。とはいえ、pusherも無料では20コネクションまでと制限があったりするので悩ましいですが。