

Tornado 2.2 released - bdarnell
http://www.tornadoweb.org/documentation/releases/v2.2.0.html

======
alexhaefner
Can anyone here speak to Tornado.websocket? What's the performance like? How
could you load balance with torando.websocket? Is it production ready?

Congrats on the release!

~~~
peterbe
Few people seem to use it directly. Most people are writing production systems
with the Tornadio2 wrapper (<https://github.com/MrJoes/tornadio2>) or sockjs-
tornado (<https://github.com/MrJoes/sockjs-tornado>)

Load balancing is usually done with HAProxy I hear.

~~~
stuartk
I'm currently creating a product using the Tornadio2 wrapper. The developer
Serge is actively developing, and is very helpful.

HAProxy is often used for load balancing websockets as it supports tcp
proxies.

There is a tcp module for nginx that can be compiled in at
<https://github.com/yaoweibin/nginx_tcp_proxy_module>

------
csytan
Congrats!

I've been using Tornado for over a year now and am impressed with how active
Ben has been in improving it. I'm especially happy with the addition of this
simple but important feature: "Template errors now generate better stack
traces."

~~~
emehrkay
Tornado has definitely taught me to keep my templates as dumb as possible.
Most of the time my errors are me trying to access values that doesnt exist

------
crcsmnky
For the folks out there using Tornado in production, what database (if any)
are you using it with? Are you using an async interface to your database
(assuming one is available)?

~~~
Maascamp
For Postgres there's Momoko <http://momoko.61924.nl/> which is really quite
nice. If you're using MySQL you have a few options including patching MySQLdb
as explained by chartio ([http://chart.io/blog/2011/06/10/making-mysql-
queries-asynchr...](http://chart.io/blog/2011/06/10/making-mysql-queries-
asynchronous-in-tornado/)). I followed the chartio approach and added in some
async cursors to fit in better with the tornado database module. Pretty
straightforward stuff.

------
phatbyte
Wow, I'm really impressed with Tornado. I'm learning node.js at the moment,
but I've been working with Python/Django as well, so I will definitely
consider this for my project.

Any benchmarks between node.js and Tornado btw ?

------
km3k
At first I thought this was going to be about a different Tornado.
<http://borkhuis.home.xs4all.nl/vxworks/vxworks.html>

------
craigyk
How would people recommend doing async file IO w/ tornado? I was using Tornado
until I needed to write a server to handle very large file uploads at which
point I switched to Node.js + CoffeeScript.

~~~
wisty
You could just use URL plumbing and nginx for the uploader. This looks
promising: [http://didipkerabat.com/post/2724838963/nginx-file-upload-
an...](http://didipkerabat.com/post/2724838963/nginx-file-upload-and-tornado-
framework)

------
LeafStorm
Once I wrote a server that speaks the Redis protocol using Tornado's TCP
networking tools. It was probably the nicest API for asynchronous networking
without coroutines that I have ever seen.

