gevent-zookeeper for windows

最近嘗試gevent+zookeeper組合,google找到gevent-zookeeper庫(https://github.com/jrydberg/gevent-zookeeper),gevent-zookeeper庫依賴zookeeper的python庫,使用它的異步接口,實現和gevent微線程的結合。

因爲開發機器用的是windows系統,折騰了半天,仍是沒將zookeeper-3.4.3的python庫編譯出來。看了下編譯錯誤,主要是vc編譯c代碼,要求在函數開頭先定義變量。對zookeeper.c進行修改,我須要的功能代碼基本編譯經過(除了pyzoo_get_children方法中使用deallocate_String_vector引發的連接錯誤沒解決)。 連接提供修改過的zookeeper.c和編譯好的zookeeper.pyd for python2.6。

接下來,嘗試gevent-zookeeper庫。這個庫也不支持windows系統(它使用了windows沒有的fcntl庫),只能本身動手改造。用zeromq的socket代替了os.pipe,改造後的 gevent-zookeeper。固然也能夠用系統標準的socket實現,如今這麼作增長了gevent-zookeeper的依賴條件。 終於能夠在windows下嘗試gevent-zookeeper庫,感受還不錯,接口清晰、簡單,使用方便。使用中發現一個問題,單個節點的監控功能(DataMonitor)能實時收到回調信息,子節點監控功能(ChildrenMonitor)卻不是實時回調的,這個有點怪異。
相關文章
相關標籤/搜索