On Mon, Oct 12, 2015 at 3:51 PM, bret curtis firstname.lastname@example.org wrote:
There is one thing that TxMongo does that PyMongo, Motor and the rest don't do: handle deadlines and timeouts.
We're (HGST/WesternDigital) using MongoDB (with WiredTiger) in real-time applications and one of our requirements was to honour application set deadlines (or timeouts) on a per-call basis.
So if you are interested in that, we have it. :)
For those just tuning in... Timeout: how many seconds the call is allowed run before raising an error. Deadline: a time (unix timestamp) in the future that the call is allowed to run before raising an error.
We take advantage of Twisted's native deferred cancellation mechanism in addition to validation checks that no modifications happen to MongoDB when a TimeExceeded is raised.
We've been very satisfied with how MongoDB has performed (post 3.0/WT) along with TxMongo and Twisted.
I have switched from pymongo to txmongo for about two months. I got at least 2x faster on query. Despite of some minor issues which have been fixed recently, I am very happy with it.