晨間需要在pymongo多個領域的專業知識比我現在所擁有的:pymongo + gevent:扔我一根香蕉,只是monkey_patch?這裏
是用Python編寫的對我pymongo驅動程序的「權利」部分調用GEVENT monkey_patch(),併成功地改變pymongo的阻塞於r行爲/ w內gevent「異步」greenlets?
如果這需要在gevent和pymongo上做更多的工作 - 但這是可行的 - 只要我能夠對irc有一點指導,我就會樂於投入時間。
謝謝!
注意:在小規模mongo寫入不是一個大問題,因爲我們只是在解鎖前排隊寫入「請求」。但是與fiorix談論他的扭曲的異步mongo驅動程序(https://github.com/fiorix/mongo-async-python-driver),即使是mongo的快速寫入(請求)也會在異步應用程序中導致問題。 (當然,非阻塞讀取可能會導致從一開始就出現的問題!)
感謝Bernie Hackett在mongodb谷歌組上進行此次更新: 還有一個問題,即mongo的連接池的上限遠低於大多數應用程序在將要產生的greenlet的數量時,如果他們使用mongo第一名(綠色小時1000)。 一些最新的mongodb補丁在這裏https://github.com/mgood/mongo-python-driver是爲了讓gevent和mongo的線程池很好地配合。 下面是*可能工作的補丁的另一個示例:http://code.activestate.com/recipes/577490-mongodb-pool-for-gevent-and-pymongo-packages/。 – egbutter
你有沒有或者知道PyMongo與Gevent一起使用的例子? –
這裏還有一個補丁可以工作的另一個例子:https://gist.github.com/1184264 – kkurian