質問

ロングポーリングメカニズムを介して更新したいリアルタイムフィード(Facebookのニュースフィードに似たもの)を持つWebアプリケーションを構築しています。Python の場合、私の選択は Stackless (Comet wsgi のサンプルから構築) を使用するか Cometd + Twisted を使用するかのどちらかになることは理解しています。残念ながら、これらのオプションに関するドキュメントはほとんどなく、Python 上の Comet の実稼働規模のユーザーに関する良い情報をオンラインで見つけることができません。

実稼働システムで Python に Comet を実装することに成功した人はいますか?どのように実行しましたか?また、独自の実装を行うためのリソースはどこで入手できますか?

役に立ちましたか?

解決

私のおすすめのものを使用できる StreamHub彗星のサーバー -その使用により多くの人-個人としてご利用いたカップルのDjango場します。する必要がありま小さなビットJavaのストリーミングをやったことを Jython.のフロントエンコードはインプJavascriptラ:

StreamHub hub = new StreamHub();
hub.connect("http://myserver.com/");
hub.subscribe("newsfeed", function(sTopic, oData) { alert("new news item: " + oData.Title); });

ドキュメントは、良い-あったかも同様の問題を抱えていることができるように疎docsのCometd et al.スタートい読み してください彗星とStreamHub, ダウンロードしてご覧くださいがどのように支えているかの事例や基準のAPIドキュメントが必要な場合:

他のヒント

Orbited ようとしても。なうものです。


更新:も変わって、昨2.5。

しwebsocketsするために、すべての主要なブラウザを除き、IE(自然に)やカップルの抽象化することを多くの方法の模倣したリアルタイムコミュニケーション.

以下は、Django、Orbited、Twisted を組み合わせてリアルタイム (Comet) アプリを作成する完全な機能の例です。 http://github.com/clemesha/hotdot Pythonを使って。

私は自分の githubのアカウントます。

ほとんどのクライアント側ですが、スロッシングの私は、リアルタイム安いのpubsubを行うために書いたサーバがあります事の一種。簡単なストリームの複製を可能にすることによって読み込むことがやや水平スケール。あなたはプレーンなHTTPに固執するとき書き込みは少し異なりますが、私はデモのためにそれを介してまともな金額をプッシュした。

そうでなければ、あなたは完全なオンBOSHた最もXMPPサーバのサポートを持っていて、ウェブフロントエンドからのメッセージ配信を分離することができます。

この男を

私はそれを行っていませんが、 のがあり、他のフレームワークに(私がチェックしていないもの)Djangoの例とポインタと、それについて良い記事を書きます。

あなたが解放GoogleのPubSubHubbubをのようなものを持っている場合、

周回し、Redisのソリューションは、関連する素敵ではなく、長くなっています。これは、与えられた飼料へのパブリッシャまたはサブスクライバであることが、それは非常に簡単になります。 http://code.google.com/p/pubsubhubbub/する

ここでの例では、ということですgeventとDjangoするでロングポーリングを行います。

CPythonの拡張としてパッケージスタックレスからスタック切替機能これは greenlet に使用します。 P>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top