Release planning

192 views
Skip to first unread message

Ben Darnell

unread,
Aug 28, 2012, 3:25:27 PM8/28/12
to Tornado Mailing List
I'd like to release Tornado 2.4 in the next week or so, so please try
out the current github version and if you've got any bugs or patches
you'd like to get in to this release now's the time to bring them to
my attention. 2.4 will be a relatively small release (draft release
notes at http://tornado.readthedocs.org/en/latest/releases/next.html).

After 2.4, the next release will be 3.0, which will give us an
opportunity to make backwards-incompatible or large changes. I don't
want to do anything too dramatically incompatible, but this will be a
good time to clean up annoyances like the fact that empty values are
stripped out of request.arguments. Other major changes I'm thinking
about (but note that nothing's definite yet) include:
* Dropping the database module and moving it to a separate package
* Dropping Python 2.5 support (maybe)
* Revamp logging - get off the root logger
* Optional support for time.monotonic in IOLoop
* SPDY support, or at least enough refactoring that SPDY could be
shipped cleanly as a separate package
* Integration with concurrent.futures to better support blocking code
* Streaming upload support in HTTPServer
* Error handling in the auth module

aliane abdelouahab

unread,
Aug 31, 2012, 1:20:35 PM8/31/12
to Tornado Web Server
am sorry, but what this means:
Removed max_simultaneous_connections argument from tornado.httpclient
(both implementations). This argument hasn’t been useful for some time
(if you were using it you probably want max_clients instead)

what is the difference? and sorry for this question (am a begginer):
what is the theorical max_simultaneous_connection if it's
asynchronous?

On 28 août, 20:25, Ben Darnell <b...@bendarnell.com> wrote:
> I'd like to release Tornado 2.4 in the next week or so, so please try
> out the current github version and if you've got any bugs or patches
> you'd like to get in to this release now's the time to bring them to
> my attention.  2.4 will be a relatively small release (draft release
> notes athttp://tornado.readthedocs.org/en/latest/releases/next.html).

Ben Darnell

unread,
Aug 31, 2012, 4:27:42 PM8/31/12
to python-...@googlegroups.com
max_simultaneous_connections and max_clients are both attempts to
limit the number of outstanding HTTP requests.
max_simultaneous_connections was an older option but it interacted
strangely with curl's "multi" mode. In modern versions of libcurl it
no longer does anything at all in multi mode (which is what tornado
uses). max_clients is more straightforward - it simply limits the
number of fetch calls that can be outstanding at once; any excess
requests are queued to start when a slot becomes available.

The theoretical limit is quite high, but max_clients has a very
conservative default of 10 (per tornado process). If you're mainly
hitting a single external site (e.g. the twitter or facebook api), you
should be cautious about raising the limit - hitting their servers too
hard may get you blocked. If you're hitting many different sites, or
a single site that you have permission to open lots of connections to,
you may want to increase max_clients accordingly. This is especially
true if you're making your own long-polling requests to some other
service.

-Ben

aliane abdelouahab

unread,
Aug 31, 2012, 4:39:30 PM8/31/12
to Tornado Web Server
ah! thank you
so in a octocore (i7 for example) with 10x8 + nginx it will be 80
simultaneos users!
and this is the asynchronous non blocking mode? i mean, this will be
the same for the database with a blocking calls? it will not hirt the
server?

Ben Darnell

unread,
Aug 31, 2012, 4:40:39 PM8/31/12
to python-...@googlegroups.com
max_clients applies only to AsyncHTTPClient.

aliane abdelouahab

unread,
Aug 31, 2012, 4:53:40 PM8/31/12
to Tornado Web Server
ah, and what about the synchronous calls? the limit will be small?

Ben Darnell

unread,
Sep 1, 2012, 7:02:40 PM9/1/12
to python-...@googlegroups.com
More or less by definition, you can only have one synchronous call at
a time per process or thread (or pseudo-thread, as with
greenlet/eventlet). Since Tornado doesn't (currently) create any
threads, there can be only one synchronous operation per process at a
time (unless you're creating and managing your own threads).

-Ben

aliane abdelouahab

unread,
Sep 3, 2012, 12:20:18 PM9/3/12
to Tornado Web Server
and this is what is done with Nginx?

Ben Darnell

unread,
Dec 14, 2012, 11:03:12 AM12/14/12
to Eric Smith, Tornado Mailing List
Yes, that still covers the large items in the 3.0 plan.  You can also see all the stuff that's been done so far including a bunch of smaller changes at http://tornado.readthedocs.org/en/latest/releases/next.html

There's no definite timeline right now, but I think it's at least a couple of months away.

-Ben


On Tue, Dec 11, 2012 at 4:00 PM, Eric Smith <esm...@logitech.com> wrote:
Hi Ben,

Is this still the target set of changes for Tornado 3.0? Any inkling of when it might be done?

Thanks,
Eric

Ben Darnell

unread,
Feb 20, 2013, 12:10:27 AM2/20/13
to Dan Sully, Tornado Mailing List, Eric Smith
It's getting close.  At this point there aren't really any new features I want to add to this release, but I've got a little more testing and polishing to do on the last wave of Future-related changes.


On Tue, Feb 19, 2013 at 1:08 PM, Dan Sully <dsu...@gmail.com> wrote:
Hey Ben - any update on a release? Looks like a lot of great stuff is in. Do you have a list of what you'd like to see finished for 3.0 still?

Would love to see a release on Pypi soon to get the new logger.

Thanks!
Reply all
Reply to author
Forward
0 new messages