Quickie đây mà cần chuyên môn miền thêm về pymongo hơn tôi có ngay bây giờ:pymongo + gevent: ném cho tôi một quả chuối và chỉ khỉ_patch?
Are "quyền" bộ phận của tài xế pymongo viết bằng python cho tôi để gọi gevent monkey_patch() và thay đổi thành công của chặn hành vi trên r pymongo/w trong các greenlet "không đồng bộ" gevent?
Nếu điều này đòi hỏi phải làm việc nhiều hơn một chút trên gevent và pymongo - nhưng nó là khả thi - tôi sẽ sẵn sàng đưa vào thời gian miễn là tôi có thể nhận được một chút hướng dẫn về irc.
Cảm ơn!
Lưu ý: Ở quy mô nhỏ, mongo viết không phải là một vấn đề lớn bởi vì chúng tôi chỉ đang xếp hàng một "yêu cầu" viết trước khi bỏ chặn. NHƯNG nói chuyện với fiorix về trình điều khiển mong muốn không đồng bộ của anh ấy (https://github.com/fiorix/mongo-async-python-driver), thậm chí cả việc viết nhanh (mong muốn) của mongo có thể gây ra các vấn đề trong các ứng dụng asyncronous ở quy mô lớn. (Và tất nhiên, các lần đọc không chặn có thể gây ra vấn đề ngay từ đầu!)
cảm ơn Bernie Hackett trên nhóm mongodb google cho bản cập nhật này: vẫn có vấn đề mà mongo có giới hạn trên trên kết nối của nó thấp hơn nhiều số lượng greenlet mà hầu hết ứng dụng sẽ sinh sản nếu họ đang sử dụng mongo trong vị trí đầu tiên (1000 của greenlets). Một số bản vá lỗi mongodb mới nhất tại đây https://github.com/mgood/mongo-python-driver đang cố gắng làm cho trò chơi của Gevent trở nên độc đáo với việc ghép nối chuỗi của mongo. Đây là một ví dụ khác về bản vá * có thể * hoạt động: http://code.activestate.com/recipes/577490-mongodb-pool-for-gevent-and-pymongo-packages/. – egbutter
Bạn có, hoặc biết, bất kỳ ví dụ nào cho thấy PyMongo đang được sử dụng với Gevent? –
Và đây là một ví dụ khác về bản vá có thể hoạt động: https://gist.github.com/1184264 – kkurian