0
所以我有在網絡上的幾臺計算機上運行的MongoDB:我如何線程我的遠程MongoDB調用?
- 我可以很容易地編寫代碼,從我的電腦連接到一個和返回結果集,例如:
from pymongo import Connection c = Connection("10.130.10.12") some_data = c.MyData.MyCollection.find_one()
- 如果我有,說100級的服務器連接到,並希望把這個循環,那太容易了:
all_data = [] for server in my_list_of_servers: c = Connection(server) all_data.append(c.MyData.MyCollection.find_one())
- 然而,這是一個接一個,可能會很慢。
- 如何一次發送所有請求?我與線程超級陌生的(是我應該甚至可以尋找到?)
謝謝!但是pool.map不能接受這個函數? PicklingError:不能鹹菜<類型「功能」>:屬性查找__builtin __ FUNC重刑失敗 – LittleBobbyTables
**編輯** 因爲我傻,我認爲不可能辦到的事: http://stackoverflow.com/questions/ 4827432/how-to-let-pool-map-take-a-lambda-function 不要在'pool.map'中使用lambdas。無論如何,這個最終的積累步驟不會真正從多處理中受益。 – alexplanation
宇!它的工作原理^ _^ 雖然'res'的簡稱是什麼?另外,我更熟悉列表推導而不是地圖 - 可以將這行:map(lambda x:all_data.append(x),res)'替換爲這個列表理解:'all_data.append([x for x in ']。它們在功能/內存方面是否相同? (對不起!很多問題) – LittleBobbyTables