まず、背景を少し。
私のPythonは中級レベルです。MongoDB/Redis/Flask は初めてです。
この質問に効果的に答えるには、このヒート マップがどのように機能するかをブログ ライターから理解するために時間を割いていただく必要があると思います。
このブログのコード リポジトリを使用しています:
http://blog.comsysto.com/2012/07/10/real-time-twitter-heat-map-with-mongodb/#comment-770
これは、Git のこのリンクで入手できます:
https://github.com/comsysto/twitter-realtime-heatmap
レディス始めました。
MongoDB で、データベース tstream の下に tweets_tail という名前の上限付きコレクションを作成しました。実際、tstream.tweets_tail.isCapped() は true を返します。
tstream.py を実行するときは、StreamListener クラスの各関数内に print ステートメントを配置しました。これらの関数は、実行時に実際に呼び出されることはありません。
tweet_service.py を実行すると、次のようになります。
avon:heatmap kalil$ python tweet_service.py
* 実行中http://0.0.0.0:5000/
* リロード
開始から終了まで再起動中...
1
127.0.0.1 - - [2012 年 7 月 24 日 14:57:54] "GET /tweets?callback=loomit HTTP/ 1.1" 200 -
tweet_service.py では、それが pubsub.listen() 関数の最初の繰り返しにあると出力しているようです。
ただし、コレクションへのクエリがあるため、それ以上の新しいツイートは取得しません。
デシベル。つぶやき_tail.count()
0
これは、Tweepy のストリーミング API が壊れていることで有名であり (私の研究室ではこのように語られています)、何かツイートが受信されて MongoDB に保存されていないことと関係があると思われます。実際には、私には手がかりがありません。
何かお役に立てれば幸いです。さらに情報が必要な場合はお知らせください。