5

私は現在、開いているソケット接続を永続的にリッスンし、データベースに特定のものを書き込む必要があるWebアプリを計画しています。

フラスコ(私の選択したフレームワーク)とPython全般に知られるために、twitter-streaming-apiで遊んでみたいと思います。

本質的な問題は同じです。両方の種類の接続に永続的な「接続リスナー」を実装するにはどうすればよいですか?

以下の提案された方法はそれを行うための最良の方法ですか?

tweepyStreamingAPIとDjangoの統合

私はどういうわけか、マシンにシステムデーモンを実装しなければならないという考えが好きではありません。

編集:もちろん、HTTPを介してユーザーにサービスを提供したいと思います。これはすべて非ブロッキングである必要があります。

4

2 に答える 2

5

システムを非ブロッキングにしたい場合は、FlaskもDjangoもあなたが探しているサポートをネイティブに提供することはありません。ノンブロッキングIO用の最も成熟したPythonプロジェクトであるTwistedをチェックする必要があります:http://twistedmatrix.com/trac/

ソケットベースのサーバー用のAPIの堅実なセットを提供します。「通常の」Webアプリと統合する必要がある場合、Twisted-Flask統合を行った人はいないと思うので、最善の策はDjangoです(間違っている可能性がありますが、見たことがありません)。同じ環境でDjangoとTwistedをセットアップする方法を説明するリンクは次のとおりです:http://dreid.org/2009/03/twisted-django-it-wont-burn-down-your.html/

注:システムデーモンは必要ありません;)

于 2011-02-14T10:22:23.917 に答える
2

オープンソケットを使用したイベントベースのアクションには、Eventletをお勧めします。

TwitterのリアルタイムAPIを処理するためのPythonの他のオプションは、ツイストトルネードです。

于 2011-02-14T10:50:56.050 に答える