[英]Python Comet Server
我正在構建一個具有實時源的Web應用程序(類似於Facebook的新聞源),我希望通過長輪詢機制進行更新。 我理解使用Python,我的選擇幾乎要么使用Stackless(從他們的Comet wsgi示例構建)或Cometd + Twisted。 遺憾的是,關於這些選項的文檔很少,我無法在線找到關於Python上彗星生產規模用戶的好信息。
有沒有人在生產系統中成功實現Python上的彗星? 你是怎么做的,我在哪里可以找到實現自己的資源?
我建議你應該使用StreamHub Comet服務器 - 它被很多人使用 - 我個人將它用於我運行的幾個Django站點。 你需要編寫一點點Java來處理流 - 我用Jython做了這個。 前端代碼是一些真正簡單的Javascript a la:
StreamHub hub = new StreamHub();
hub.connect("http://myserver.com/");
hub.subscribe("newsfeed", function(sTopic, oData) { alert("new news item: " + oData.Title); });
文檔非常好 - 當你試圖開始使用Cometd等人的稀疏文檔時,我遇到了類似的問題。 首先,我將閱讀Comet和StreamHub入門 ,下載並查看一些示例如何工作並參考API文檔,如果您需要:
這是一個功能齊全的例子,結合Django,Orbited和Twisted來創建一個實時(Comet)應用程序: http ://github.com/clemesha/hotdot使用Python。
我還沒有這樣做,但是這個人已經寫了一篇關於它的好文章,用Django的例子和指針(我沒有檢查過)到其他框架。
orbited和redis解決方案很不錯,但是當你有類似谷歌發布的PubSubHubbub這樣的東西時,它們就不再具有相關性了。 這使得很容易成為給定Feed的發布者或訂閱者。 http://code.google.com/p/pubsubhubbub/
它使用Stackless打包的greenlet -stack切換功能作為CPython擴展。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.