Subscribed unsubscribe Subscribe Subscribe

Herokuでのたぶん一番かんたんなTwitter Streaming APIの使いかた

heroku twitter

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コネクションまでと制限があったりするので悩ましいですが。