announcing asyncmongo for accessing mongodb from tornado

149 views
Skip to first unread message

Jehiah Czebotar

unread,
Nov 17, 2010, 9:26:40 PM11/17/10
to python-...@googlegroups.com
Hi All.

I'm happy to announce a new project i've been working on, which is an
asynchronous library for accessing mongodb built on top of the tornado
ioloop.

https://github.com/bitly/asyncmongo

At bit.ly, we have been very happy with tornado, and we are excited to
continue building applications on top of tornado, and we are also
excited about how this library will help enable that. While not 100%
feature complete when compared to pymongo, it is stable at it's
current v0.1 release and is starting to see production deployment at
bit.ly

cheers!
--
Jehiah

HENG

unread,
Nov 17, 2010, 9:35:58 PM11/17/10
to python-...@googlegroups.com
Cool! Thank!

2010/11/18 Jehiah Czebotar <jeh...@gmail.com>



--
--------------------------------------------------------------------
HengZhou
---------------------------------------------------------------------
--

(felinx)飞龙在天

unread,
Nov 17, 2010, 9:38:57 PM11/17/10
to python-...@googlegroups.com
That's really good news, cheer!
--
Felinx Lee

What powered sites?
http://poweredsites.org

What can change the nature of a man?(Planescape Torment)
http://en.wikipedia.org/wiki/Planescape:_Torment

Francisco Souza

unread,
Nov 17, 2010, 9:40:30 PM11/17/10
to python-...@googlegroups.com
On Thu, Nov 18, 2010 at 12:26 AM, Jehiah Czebotar <jeh...@gmail.com> wrote:
Hi All.

I'm happy to announce a new project i've been working on, which is an
asynchronous library for accessing mongodb built on top of the tornado
ioloop.

Hi Jehiah,
totally amazing!

Congratulations ;)

Keep hackin,
Francisco Souza
Software developer at Giran and also full time
Open source evangelist at full time

English: http://www.franciscosouza.com
Portuguese: http://www.franciscosouza.com.br
Twitter: @franciscosouza
+55 27 3026 0264

Romy

unread,
Nov 17, 2010, 11:36:23 PM11/17/10
to Tornado Web Server
Very cool!

We just started using Mongo w/ our Tornado deployment, and had some
discussions about precisely this. We decided to go ahead w/ Mongo
without true async support because most of our use cases were fire-and-
forget write calls, but being able to execute queries async could
become very useful.

So I presume while Mongo is handling queries, Tornado can handle other
requests, yes ?

Keep it up,

R

soupy

unread,
Nov 18, 2010, 10:23:34 AM11/18/10
to Tornado Web Server
This looks amazing, thank you for making this available. I was just
starting to look into using mongodb with tornado so your timing could
not have been better.

--Craig

Joe Bowman

unread,
Nov 18, 2010, 1:23:40 PM11/18/10
to Tornado Web Server
Hey awesome, I've been using pymongo with Tornado for everything on
unscatter.com and will definitely take a look at this if I ever get a
chance to work on it again.

On Nov 17, 9:26 pm, Jehiah Czebotar <jeh...@gmail.com> wrote:

Joe Bowman

unread,
Nov 19, 2010, 12:25:01 PM11/19/10
to Tornado Web Server
Question. I see the option to designate tailable cursor objects, is
this fully implemented meaning that it won't block at all? I've been
considering implementing redis just for the publish/subscribe
functionality for one part of my project, but if this can handle
tailable cursors without blocking I can use mongodb for everything.

Jehiah Czebotar

unread,
Nov 19, 2010, 1:49:34 PM11/19/10
to python-...@googlegroups.com
hmm i've not used tailable cursors at all, so asyncmongo doesn't have
anything for that baked in at the moment. There might be some
challenges with when a tailable cursor would have it's connection
released for re-use, but there might not be (i'd have to read more
about how mongo implements them). In any case, feel free to fork on
github and give it a try adding support.

--
Jehiah

Joe Bowman

unread,
Nov 19, 2010, 2:34:42 PM11/19/10
to Tornado Web Server
Will do when I can find some time, unless someone else beats me to it.
I'm about to dive back into my own oss project for appengine sessions
so will be consumed with that for a while.

Joe Bowman

unread,
Nov 19, 2010, 2:59:57 PM11/19/10
to Tornado Web Server
Actually, it looks like tailable cursor doesn't have the functionality
I need, I'll probably have to take a look at redis regardless. It
really is temporary data so redis probably a better fit over all for
it anyway.

Victor Pantoja

unread,
Dec 6, 2010, 7:42:44 AM12/6/10
to python-...@googlegroups.com
Congrats!

I really liked asyncmongo! We have a high performance application and we were using pymongo.

Now, we've just refactored our code to use asyncmongo and achieved much better results:

pymongo: 1200 requests/s
asyncmongo: 2500 requests/s

These load tests were performed under the same conditions.

Thank you a lot! I hope you keep up the good working.

Victor

2010/11/18 Jehiah Czebotar <jeh...@gmail.com>

Didip Kerabat

unread,
Dec 6, 2010, 1:20:39 PM12/6/10
to python-...@googlegroups.com
Just a suggestion for the community,

Tornado website needs to keep track of high profile users (such as bit.ly).

it's a good marketing opportunity for the framework, I think.

- Didip -

Phil Plante

unread,
Dec 7, 2010, 1:27:22 PM12/7/10
to Tornado Web Server
I agree it would be good to list more of the higher profile sites on
tornadoweb.org. Although FriendFeed and Facebook are already
mentioned there...
Reply all
Reply to author
Forward
0 new messages