update doc

This commit is contained in:
benoitc 2012-06-24 14:24:45 +02:00
parent 1edaef88dc
commit 5ec16e6d0a
8 changed files with 218 additions and 190 deletions

View File

@ -225,6 +225,17 @@ you're sure of the repercussions for sync workers. For the non sync
workers it just means that the worker process is still communicating and
is not tied to the length of time required to handle a single request.</p>
</div>
<div class="section" id="graceful-timeout">
<h4><a class="toc-backref" href="#contents">graceful_timeout</a></h4>
<ul class="simple">
<li><tt class="docutils literal"><span class="pre">--graceful-timeout</span> INT</tt></li>
<li><tt class="docutils literal">30</tt></li>
</ul>
<p>Timeout for graceful workers restart.</p>
<p>Generally set to thirty seconds. How max time worker can handle
request after got restart signal. If the time is up worker will
be force killed.</p>
</div>
<div class="section" id="keepalive">
<h4><a class="toc-backref" href="#contents">keepalive</a></h4>
<ul class="simple">
@ -250,8 +261,8 @@ method, URI, and protocol version, this directive places a
restriction on the length of a request-URI allowed for a request
on the server. A server needs this value to be large enough to
hold any of its resource names, including any information that
might be passed in the query part of a GET request. By default
this value is 4094 and can't be larger than 8190.</p>
might be passed in the query part of a GET request. Value is a number
from 0 (unlimited) to 8190.</p>
<p>This parameter can be used to prevent any DDOS attack.</p>
</div>
<div class="section" id="limit-request-fields">
@ -261,10 +272,10 @@ this value is 4094 and can't be larger than 8190.</p>
<li><tt class="docutils literal">100</tt></li>
</ul>
<p>Limit the number of HTTP headers fields in a request.</p>
<p>Value is a number from 0 (unlimited) to 32768. This parameter is
used to limit the number of headers in a request to prevent DDOS
attack. Used with the <cite>limit_request_field_size</cite> it allows more
safety.</p>
<p>This parameter is used to limit the number of headers in a request to
prevent DDOS attack. Used with the <cite>limit_request_field_size</cite> it allows
more safety. By default this value is 100 and can't be larger than
32768.</p>
</div>
<div class="section" id="limit-request-field-size">
<h4><a class="toc-backref" href="#contents">limit_request_field_size</a></h4>
@ -344,7 +355,7 @@ background.</p>
<h4><a class="toc-backref" href="#contents">user</a></h4>
<ul class="simple">
<li><tt class="docutils literal"><span class="pre">-u</span> USER, <span class="pre">--user</span> USER</tt></li>
<li><tt class="docutils literal">501</tt></li>
<li><tt class="docutils literal">1000</tt></li>
</ul>
<p>Switch worker processes to run as this user.</p>
<p>A valid user id (as an integer) or the name of a user that can be
@ -355,7 +366,7 @@ the worker process user.</p>
<h4><a class="toc-backref" href="#contents">group</a></h4>
<ul class="simple">
<li><tt class="docutils literal"><span class="pre">-g</span> GROUP, <span class="pre">--group</span> GROUP</tt></li>
<li><tt class="docutils literal">20</tt></li>
<li><tt class="docutils literal">1000</tt></li>
</ul>
<p>Switch worker process to run as this group.</p>
<p>A valid group id (as an integer) or the name of a user that can be
@ -419,7 +430,7 @@ address of the client connection to gunicorn via a proxy.</p>
<li><tt class="docutils literal">None</tt></li>
</ul>
<p>The Access log file to write to.</p>
<p>&quot;-&quot; means log to stdout.</p>
<p>&quot;-&quot; means log to stderr.</p>
</div>
<div class="section" id="access-log-format">
<h4><a class="toc-backref" href="#contents">access_log_format</a></h4>
@ -452,7 +463,7 @@ p: process ID
<li><tt class="docutils literal">-</tt></li>
</ul>
<p>The Error log file to write to.</p>
<p>&quot;-&quot; means log to stdout.</p>
<p>&quot;-&quot; means log to stderr.</p>
</div>
<div class="section" id="loglevel">
<h4><a class="toc-backref" href="#contents">loglevel</a></h4>
@ -560,8 +571,7 @@ def on_starting(server):
<ul>
<li><pre class="first literal-block">
def on_reload(server):
for i in range(server.app.cfg.workers):
server.spawn_worker()
pass
</pre>
</li>
</ul>
@ -688,62 +698,63 @@ the just-exited Worker.</p>
<li><a class="reference internal" href="#worker-connections" id="id15">worker_connections</a></li>
<li><a class="reference internal" href="#max-requests" id="id16">max_requests</a></li>
<li><a class="reference internal" href="#timeout" id="id17">timeout</a></li>
<li><a class="reference internal" href="#keepalive" id="id18">keepalive</a></li>
<li><a class="reference internal" href="#graceful-timeout" id="id18">graceful_timeout</a></li>
<li><a class="reference internal" href="#keepalive" id="id19">keepalive</a></li>
</ul>
</li>
<li><a class="reference internal" href="#security" id="id19">Security</a><ul>
<li><a class="reference internal" href="#limit-request-line" id="id20">limit_request_line</a></li>
<li><a class="reference internal" href="#limit-request-fields" id="id21">limit_request_fields</a></li>
<li><a class="reference internal" href="#limit-request-field-size" id="id22">limit_request_field_size</a></li>
<li><a class="reference internal" href="#security" id="id20">Security</a><ul>
<li><a class="reference internal" href="#limit-request-line" id="id21">limit_request_line</a></li>
<li><a class="reference internal" href="#limit-request-fields" id="id22">limit_request_fields</a></li>
<li><a class="reference internal" href="#limit-request-field-size" id="id23">limit_request_field_size</a></li>
</ul>
</li>
<li><a class="reference internal" href="#debugging" id="id23">Debugging</a><ul>
<li><a class="reference internal" href="#debug" id="id24">debug</a></li>
<li><a class="reference internal" href="#spew" id="id25">spew</a></li>
<li><a class="reference internal" href="#check-config" id="id26">check_config</a></li>
<li><a class="reference internal" href="#debugging" id="id24">Debugging</a><ul>
<li><a class="reference internal" href="#debug" id="id25">debug</a></li>
<li><a class="reference internal" href="#spew" id="id26">spew</a></li>
<li><a class="reference internal" href="#check-config" id="id27">check_config</a></li>
</ul>
</li>
<li><a class="reference internal" href="#server-mechanics" id="id27">Server Mechanics</a><ul>
<li><a class="reference internal" href="#preload-app" id="id28">preload_app</a></li>
<li><a class="reference internal" href="#daemon" id="id29">daemon</a></li>
<li><a class="reference internal" href="#pidfile" id="id30">pidfile</a></li>
<li><a class="reference internal" href="#user" id="id31">user</a></li>
<li><a class="reference internal" href="#group" id="id32">group</a></li>
<li><a class="reference internal" href="#umask" id="id33">umask</a></li>
<li><a class="reference internal" href="#tmp-upload-dir" id="id34">tmp_upload_dir</a></li>
<li><a class="reference internal" href="#secure-scheme-headers" id="id35">secure_scheme_headers</a></li>
<li><a class="reference internal" href="#x-forwarded-for-header" id="id36">x_forwarded_for_header</a></li>
<li><a class="reference internal" href="#server-mechanics" id="id28">Server Mechanics</a><ul>
<li><a class="reference internal" href="#preload-app" id="id29">preload_app</a></li>
<li><a class="reference internal" href="#daemon" id="id30">daemon</a></li>
<li><a class="reference internal" href="#pidfile" id="id31">pidfile</a></li>
<li><a class="reference internal" href="#user" id="id32">user</a></li>
<li><a class="reference internal" href="#group" id="id33">group</a></li>
<li><a class="reference internal" href="#umask" id="id34">umask</a></li>
<li><a class="reference internal" href="#tmp-upload-dir" id="id35">tmp_upload_dir</a></li>
<li><a class="reference internal" href="#secure-scheme-headers" id="id36">secure_scheme_headers</a></li>
<li><a class="reference internal" href="#x-forwarded-for-header" id="id37">x_forwarded_for_header</a></li>
</ul>
</li>
<li><a class="reference internal" href="#logging" id="id37">Logging</a><ul>
<li><a class="reference internal" href="#accesslog" id="id38">accesslog</a></li>
<li><a class="reference internal" href="#access-log-format" id="id39">access_log_format</a></li>
<li><a class="reference internal" href="#errorlog" id="id40">errorlog</a></li>
<li><a class="reference internal" href="#loglevel" id="id41">loglevel</a></li>
<li><a class="reference internal" href="#logger-class" id="id42">logger_class</a></li>
<li><a class="reference internal" href="#logconfig" id="id43">logconfig</a></li>
<li><a class="reference internal" href="#logging" id="id38">Logging</a><ul>
<li><a class="reference internal" href="#accesslog" id="id39">accesslog</a></li>
<li><a class="reference internal" href="#access-log-format" id="id40">access_log_format</a></li>
<li><a class="reference internal" href="#errorlog" id="id41">errorlog</a></li>
<li><a class="reference internal" href="#loglevel" id="id42">loglevel</a></li>
<li><a class="reference internal" href="#logger-class" id="id43">logger_class</a></li>
<li><a class="reference internal" href="#logconfig" id="id44">logconfig</a></li>
</ul>
</li>
<li><a class="reference internal" href="#process-naming" id="id44">Process Naming</a><ul>
<li><a class="reference internal" href="#proc-name" id="id45">proc_name</a></li>
<li><a class="reference internal" href="#default-proc-name" id="id46">default_proc_name</a></li>
<li><a class="reference internal" href="#process-naming" id="id45">Process Naming</a><ul>
<li><a class="reference internal" href="#proc-name" id="id46">proc_name</a></li>
<li><a class="reference internal" href="#default-proc-name" id="id47">default_proc_name</a></li>
</ul>
</li>
<li><a class="reference internal" href="#django" id="id47">Django</a><ul>
<li><a class="reference internal" href="#django-settings" id="id48">django_settings</a></li>
<li><a class="reference internal" href="#pythonpath" id="id49">pythonpath</a></li>
<li><a class="reference internal" href="#django" id="id48">Django</a><ul>
<li><a class="reference internal" href="#django-settings" id="id49">django_settings</a></li>
<li><a class="reference internal" href="#pythonpath" id="id50">pythonpath</a></li>
</ul>
</li>
<li><a class="reference internal" href="#server-hooks" id="id50">Server Hooks</a><ul>
<li><a class="reference internal" href="#on-starting" id="id51">on_starting</a></li>
<li><a class="reference internal" href="#on-reload" id="id52">on_reload</a></li>
<li><a class="reference internal" href="#when-ready" id="id53">when_ready</a></li>
<li><a class="reference internal" href="#pre-fork" id="id54">pre_fork</a></li>
<li><a class="reference internal" href="#post-fork" id="id55">post_fork</a></li>
<li><a class="reference internal" href="#pre-exec" id="id56">pre_exec</a></li>
<li><a class="reference internal" href="#pre-request" id="id57">pre_request</a></li>
<li><a class="reference internal" href="#post-request" id="id58">post_request</a></li>
<li><a class="reference internal" href="#worker-exit" id="id59">worker_exit</a></li>
<li><a class="reference internal" href="#server-hooks" id="id51">Server Hooks</a><ul>
<li><a class="reference internal" href="#on-starting" id="id52">on_starting</a></li>
<li><a class="reference internal" href="#on-reload" id="id53">on_reload</a></li>
<li><a class="reference internal" href="#when-ready" id="id54">when_ready</a></li>
<li><a class="reference internal" href="#pre-fork" id="id55">pre_fork</a></li>
<li><a class="reference internal" href="#post-fork" id="id56">post_fork</a></li>
<li><a class="reference internal" href="#pre-exec" id="id57">pre_exec</a></li>
<li><a class="reference internal" href="#pre-request" id="id58">pre_request</a></li>
<li><a class="reference internal" href="#post-request" id="id59">post_request</a></li>
<li><a class="reference internal" href="#worker-exit" id="id60">worker_exit</a></li>
</ul>
</li>
</ul>

View File

@ -1,4 +1,4 @@
/* line 17, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 17, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
@ -20,45 +20,45 @@ time, mark, audio, video {
vertical-align: baseline;
}
/* line 20, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 20, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
body {
line-height: 1;
}
/* line 22, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 22, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
ol, ul {
list-style: none;
}
/* line 24, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 24, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
table {
border-collapse: collapse;
border-spacing: 0;
}
/* line 26, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 26, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
caption, th, td {
text-align: left;
font-weight: normal;
vertical-align: middle;
}
/* line 28, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 28, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
q, blockquote {
quotes: none;
}
/* line 101, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 101, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
q:before, q:after, blockquote:before, blockquote:after {
content: "";
content: none;
}
/* line 30, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 30, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
a img {
border: none;
}
/* line 114, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 114, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
display: block;
}
@ -89,17 +89,17 @@ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav,
width: 620px;
}
/* line 4, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 4, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
body {
font: 13px/1.5 Helvetica, Arial, 'Liberation Sans', FreeSans, sans-serif;
}
/* line 6, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 6, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
a:focus {
outline: 1px dotted invert;
}
/* line 8, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 8, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
hr {
border-color: #cccccc;
border-style: solid;
@ -108,52 +108,52 @@ hr {
height: 0;
}
/* line 14, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 14, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
h1 {
font-size: 25px;
}
/* line 16, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 16, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
h2 {
font-size: 23px;
}
/* line 18, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 18, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
h3 {
font-size: 21px;
}
/* line 20, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 20, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
h4 {
font-size: 19px;
}
/* line 22, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 22, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
h5 {
font-size: 17px;
}
/* line 24, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 24, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
h6 {
font-size: 15px;
}
/* line 26, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 26, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
ol {
list-style: decimal;
}
/* line 28, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 28, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
ul {
list-style: square;
}
/* line 30, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 30, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
li {
margin-left: 30px;
}
/* line 32, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 32, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
p,
dl,
hr,
@ -211,7 +211,7 @@ a, a:visited, a:hover, a:active {
margin-right: 10px;
list-style: none;
}
/* line 11, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/typography/lists/_bullets.scss */
/* line 11, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/typography/lists/_bullets.scss */
#menu ul li {
list-style-image: none;
list-style-type: none;

View File

@ -1,4 +1,4 @@
/* line 17, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 17, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
@ -20,45 +20,45 @@ time, mark, audio, video {
vertical-align: baseline;
}
/* line 20, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 20, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
body {
line-height: 1;
}
/* line 22, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 22, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
ol, ul {
list-style: none;
}
/* line 24, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 24, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
table {
border-collapse: collapse;
border-spacing: 0;
}
/* line 26, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 26, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
caption, th, td {
text-align: left;
font-weight: normal;
vertical-align: middle;
}
/* line 28, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 28, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
q, blockquote {
quotes: none;
}
/* line 101, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 101, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
q:before, q:after, blockquote:before, blockquote:after {
content: "";
content: none;
}
/* line 30, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 30, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
a img {
border: none;
}
/* line 114, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
/* line 114, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
display: block;
}
@ -89,17 +89,17 @@ article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav,
width: 620px;
}
/* line 4, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 4, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
body {
font: 13px/1.5 Helvetica, Arial, 'Liberation Sans', FreeSans, sans-serif;
}
/* line 6, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 6, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
a:focus {
outline: 1px dotted invert;
}
/* line 8, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 8, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
hr {
border-color: #cccccc;
border-style: solid;
@ -108,52 +108,52 @@ hr {
height: 0;
}
/* line 14, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 14, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
h1 {
font-size: 25px;
}
/* line 16, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 16, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
h2 {
font-size: 23px;
}
/* line 18, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 18, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
h3 {
font-size: 21px;
}
/* line 20, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 20, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
h4 {
font-size: 19px;
}
/* line 22, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 22, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
h5 {
font-size: 17px;
}
/* line 24, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 24, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
h6 {
font-size: 15px;
}
/* line 26, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 26, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
ol {
list-style: decimal;
}
/* line 28, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 28, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
ul {
list-style: square;
}
/* line 30, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 30, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
li {
margin-left: 30px;
}
/* line 32, /Library/Ruby/Gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
/* line 32, /var/lib/gems/1.8/gems/compass-960-plugin-0.10.4/stylesheets/960/_text.sass */
p,
dl,
hr,
@ -211,7 +211,7 @@ a, a:visited, a:hover, a:active {
margin-right: 10px;
list-style: none;
}
/* line 11, /Library/Ruby/Gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/typography/lists/_bullets.scss */
/* line 11, /var/lib/gems/1.8/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/typography/lists/_bullets.scss */
#menu ul li {
list-style-image: none;
list-style-type: none;

View File

@ -145,18 +145,6 @@ they launch will be the process they need to monior. Daemonizing
will fork-exec which creates an unmonitored process and generally just
confuses the monitor services.</p>
</div>
<div class="section" id="circus">
<h3><a class="toc-backref" href="#contents">Circus</a></h3>
<p><a class="reference external" href="http://circus.readthedocs.org/en/latest/index.html">Circus</a> can be
used to monitor gunicorn. A simple configuration is:</p>
<pre class="literal-block">
[watcher:mywebapp]
cmd = gunicorn -w 3 test:app
working_dir = /Users/benoitc/work/gunicorn/examples
send_hup = true
</pre>
<p>Then you can easily manage Gunicorn using the <a class="reference external" href="http://circus.readthedocs.org/en/latest/commands/#cli">circusctl</a> command.</p>
</div>
<div class="section" id="runit">
<h3><a class="toc-backref" href="#contents">Runit</a></h3>
<p>A popular method for deploying Gunicorn is to have it monitored by <a class="reference external" href="http://smarden.org/runit/">runit</a>.
@ -231,4 +219,4 @@ kill -USR1 $(cat /var/run/gunicorn.pid)
</div>
</div>
</body>
</html>
</html>

View File

@ -79,19 +79,17 @@ def app(environ, start_response):
</ul>
</div>
<div class="blurb">
<h3>Version 0.14.3 / 2012-05-15</h3>
<h3>Version 0.14.4 / 2012-06-24</h3>
<ul>
<li>improvement: performance of http.body.Body.readline()</li>
<li>improvement: log HTTP errors in access log like
Apache</li>
<li>improvment: display traceback when the worker fails to
boot</li>
<li>improvement: makes gunicorn work with gevent 1.0</li>
<li>examples: websocket example now supports hybi13</li>
<li>fix: reopen log files after initialization</li>
<li>fix: websockets support</li>
<li>fix: django1.4 support</li>
<li>fix: only load the paster application 1 time</li>
<li>new --graceful-timeout option</li>
<li>fix multiple issues with request limit</li>
<li>more fixes in django settings resolutions</li>
<li>fix gevent.core import</li>
<li>fix keepalive=0 in eventlet worker</li>
<li>fix handle_error display with the unix worker</li>
<li>fix tornado.wsgi.WSGIApplication calling error</li>
<li><strong>breaking change</strong>: take the control on graceful reload back.
graceful can't be overrided anymore using the on_reload function.</li>
</ul>
</div>
<div id="footer">

View File

@ -113,8 +113,10 @@ installed, this is the most likely reason.</p>
</div>
<div class="section" id="debian-gnu-linux">
<h2><a class="toc-backref" href="#contents">Debian GNU/Linux</a></h2>
<p>If you are using Debian GNU/Linux is is recommended that you use system
packages to install Gunicorn. This has a number of advantages:</p>
<p>If you are using Debian GNU/Linux and it is recommended that you use
system packages to install Gunicorn except maybe when you want to use
different versions of gunicorn with virtualenv. This has a number of
advantages:</p>
<blockquote>
<ul class="simple">
<li>Zero-effort installation: Automatically starts multiple Gunicorn instances

View File

@ -29,6 +29,20 @@
<div id="content">
<div class="document">
<div class="section" id="id1">
<h2><a class="toc-backref" href="#contents">0.14.4 / 2012-06-24</a></h2>
<ul class="simple">
<li>new --graceful-timeout option</li>
<li>fix multiple issues with request limit</li>
<li>more fixes in django settings resolutions</li>
<li>fix gevent.core import</li>
<li>fix keepalive=0 in eventlet worker</li>
<li>fix handle_error display with the unix worker</li>
<li>fix tornado.wsgi.WSGIApplication calling error</li>
<li><strong>breaking change</strong>: take the control on graceful reload back.
graceful can't be overrided anymore using the on_reload function.</li>
</ul>
</div>
<div class="section" id="id2">
<h2><a class="toc-backref" href="#contents">0.14.3 / 2012-05-15</a></h2>
<ul class="simple">
<li>improvement: performance of http.body.Body.readline()</li>
@ -42,7 +56,7 @@
<li>fix: only load the paster application 1 time</li>
</ul>
</div>
<div class="section" id="id2">
<div class="section" id="id3">
<h2><a class="toc-backref" href="#contents">0.14.2 / 2012-03-16</a></h2>
<ul class="simple">
<li>add validate_class validator: allows to use a class or a method to
@ -53,13 +67,13 @@ initialize the app during in-code configuration</li>
<li>Fix gevent_pywsgi worker</li>
</ul>
</div>
<div class="section" id="id3">
<div class="section" id="id4">
<h2><a class="toc-backref" href="#contents">0.14.1 / 2012-03-02</a></h2>
<ul class="simple">
<li>fixing source archive, reducing its size</li>
</ul>
</div>
<div class="section" id="id4">
<div class="section" id="id5">
<h2><a class="toc-backref" href="#contents">0.14.0 / 2012-02-27</a></h2>
<ul class="simple">
<li>check if Request line is too large: You can now pass the parameter
@ -82,14 +96,14 @@ setting an empty string.</li>
<li>many other fixes.</li>
</ul>
</div>
<div class="section" id="id5">
<div class="section" id="id6">
<h2><a class="toc-backref" href="#contents">0.13.4 / 2011-09-23</a></h2>
<ul class="simple">
<li>fix util.closerange function used to prevent leaking fds on python 2.5
(typo)</li>
</ul>
</div>
<div class="section" id="id6">
<div class="section" id="id7">
<h2><a class="toc-backref" href="#contents">0.13.3 / 2011-09-19</a></h2>
<ul class="simple">
<li>refactor gevent worker</li>
@ -97,7 +111,7 @@ setting an empty string.</li>
<li>fix inverted request_time computation</li>
</ul>
</div>
<div class="section" id="id7">
<div class="section" id="id8">
<h2><a class="toc-backref" href="#contents">0.13.2 / 2011-09-17</a></h2>
<ul class="simple">
<li>Add support for Tornado 2.0 in tornado worker</li>
@ -110,13 +124,13 @@ request time</li>
<li>Fix Django reloading</li>
</ul>
</div>
<div class="section" id="id8">
<div class="section" id="id9">
<h2><a class="toc-backref" href="#contents">0.13.1 / 2011-08-22</a></h2>
<ul class="simple">
<li>Fix unix socket. log argument was missing.</li>
</ul>
</div>
<div class="section" id="id9">
<div class="section" id="id10">
<h2><a class="toc-backref" href="#contents">0.13.0 / 2011-08-22</a></h2>
<ul class="simple">
<li>Improve logging: allows file-reopening and add access log file
@ -134,7 +148,7 @@ SIGHUP</li>
<li>Fix the use of sendfile in wsgi.file_wrapper</li>
</ul>
</div>
<div class="section" id="id10">
<div class="section" id="id11">
<h2><a class="toc-backref" href="#contents">0.12.2 / 2011-05-18</a></h2>
<ul class="simple">
<li>Add wsgi.file_wrapper optimised for FreeBSD, Linux &amp; MacOSX (use
@ -145,7 +159,7 @@ code.</li>
<li>Compatible with gevent 0.14dev</li>
</ul>
</div>
<div class="section" id="id11">
<div class="section" id="id12">
<h2><a class="toc-backref" href="#contents">0.12.1 / 2011-03-23</a></h2>
<ul class="simple">
<li>Add &quot;on_starting&quot; hook. This hook can be used to set anything before
@ -157,7 +171,7 @@ the arbiter really start</li>
<li>Fix ipv6 handling</li>
</ul>
</div>
<div class="section" id="id12">
<div class="section" id="id13">
<h2><a class="toc-backref" href="#contents">0.12.0 / 2010-12-22</a></h2>
<ul class="simple">
<li>Add support for logging configuration using a ini file.
@ -175,7 +189,7 @@ it and use it.</li>
<li>Set the number of workers to zero on WINCH</li>
</ul>
</div>
<div class="section" id="id13">
<div class="section" id="id14">
<h2><a class="toc-backref" href="#contents">0.11.2 / 2010-10-30</a></h2>
<ul class="simple">
<li>Add SERVER_SOFTWARE to the os.environ</li>
@ -188,7 +202,7 @@ it and use it.</li>
<li>Fix readline in wsgi.input</li>
</ul>
</div>
<div class="section" id="id14">
<div class="section" id="id15">
<h2><a class="toc-backref" href="#contents">0.11.1 / 2010-09-02</a></h2>
<ul class="simple">
<li>Implement max-requests feature to prevent memory leaks.</li>
@ -200,7 +214,7 @@ it and use it.</li>
<li>Workaround to prevent Gevent worker to segfault on MacOSX.</li>
</ul>
</div>
<div class="section" id="id15">
<div class="section" id="id16">
<h2><a class="toc-backref" href="#contents">0.11.0 / 2010-08-12</a></h2>
<ul class="simple">
<li>Improve dramatically performances of Gevent and Eventlet workers</li>
@ -209,7 +223,7 @@ it and use it.</li>
<li>Fix latency issue in async workers</li>
</ul>
</div>
<div class="section" id="id16">
<div class="section" id="id17">
<h2><a class="toc-backref" href="#contents">0.10.1 / 2010-08-06</a></h2>
<ul class="simple">
<li>Improve gevent's workers. Add &quot;egg:gunicorn#gevent_wsgi&quot; worker using
@ -223,7 +237,7 @@ need really fast connections and don't need streaming, keepalive or ssl.</li>
<li>Fix gevent dns issue</li>
</ul>
</div>
<div class="section" id="id17">
<div class="section" id="id18">
<h2><a class="toc-backref" href="#contents">0.10.0 / 2010-07-08</a></h2>
<ul class="simple">
<li>New HTTP parser.</li>
@ -243,7 +257,7 @@ the preload flag can help a bit in small memory VM's.</li>
<li>New documentation website.</li>
</ul>
</div>
<div class="section" id="id18">
<div class="section" id="id19">
<h2><a class="toc-backref" href="#contents">0.9.1 / 2010-05-26</a></h2>
<ul class="simple">
<li>Support https via X-Forwarded-Protocol or X-Forwarded-Ssl headers</li>
@ -252,7 +266,7 @@ the preload flag can help a bit in small memory VM's.</li>
<li>Fix umask in unix socket</li>
</ul>
</div>
<div class="section" id="id19">
<div class="section" id="id20">
<h2><a class="toc-backref" href="#contents">0.9.0 / 2010-05-24</a></h2>
<ul class="simple">
<li>Added <em>when_ready</em> hook. Called just after the server is started</li>
@ -265,7 +279,7 @@ are forked.</li>
<li>Documentation improvements</li>
</ul>
</div>
<div class="section" id="id20">
<div class="section" id="id21">
<h2><a class="toc-backref" href="#contents">0.8.1 / 2010-04-29</a></h2>
<ul class="simple">
<li>Fix builtins import in config</li>
@ -274,7 +288,7 @@ are forked.</li>
<li>Delay application loading until after processing all configuration</li>
</ul>
</div>
<div class="section" id="id21">
<div class="section" id="id22">
<h2><a class="toc-backref" href="#contents">0.8.0 / 2010-04-22</a></h2>
<ul class="simple">
<li>Refactored Worker management for better async support. Now use the -k option
@ -282,7 +296,7 @@ to set the type of request processing to use</li>
<li>Added support for <a class="reference external" href="http://www.tornadoweb.org/">Tornado</a></li>
</ul>
</div>
<div class="section" id="id22">
<div class="section" id="id23">
<h2><a class="toc-backref" href="#contents">0.7.2 / 2010-04-15</a></h2>
<ul class="simple">
<li>Added --spew option to help debugging (installs a system trace hook)</li>
@ -290,13 +304,13 @@ to set the type of request processing to use</li>
<li>Fix a bug in start_response on error</li>
</ul>
</div>
<div class="section" id="id23">
<div class="section" id="id24">
<h2><a class="toc-backref" href="#contents">0.7.1 / 2010-04-01</a></h2>
<ul class="simple">
<li>Fix bug when responses have no body.</li>
</ul>
</div>
<div class="section" id="id24">
<div class="section" id="id25">
<h2><a class="toc-backref" href="#contents">0.7.0 / 2010-03-26</a></h2>
<ul class="simple">
<li>Added support for <a class="reference external" href="http://eventlet.net">Eventlet</a> and <a class="reference external" href="http://gevent.org">Gevent</a> based workers.</li>
@ -306,28 +320,28 @@ to set the type of request processing to use</li>
<li>Fix <a class="reference external" href="http://www.python.org/dev/peps/pep-0333/">PEP 333</a> compliance for the write callable.</li>
</ul>
</div>
<div class="section" id="id25">
<div class="section" id="id26">
<h2><a class="toc-backref" href="#contents">0.6.5 / 2010-03-11</a></h2>
<ul class="simple">
<li>Fix pidfile handling</li>
<li>Fix Exception Error</li>
</ul>
</div>
<div class="section" id="id26">
<div class="section" id="id27">
<h2><a class="toc-backref" href="#contents">0.6.4 / 2010-03-08</a></h2>
<ul class="simple">
<li>Use cStringIO for performance when possible.</li>
<li>Fix worker freeze when a remote connection closes unexpectedly.</li>
</ul>
</div>
<div class="section" id="id27">
<div class="section" id="id28">
<h2><a class="toc-backref" href="#contents">0.6.3 / 2010-03-07</a></h2>
<ul class="simple">
<li>Make HTTP parsing faster.</li>
<li>Various bug fixes</li>
</ul>
</div>
<div class="section" id="id28">
<div class="section" id="id29">
<h2><a class="toc-backref" href="#contents">0.6.2 / 2010-03-01</a></h2>
<ul class="simple">
<li>Added support for chunked response.</li>
@ -338,7 +352,7 @@ temporary data.</li>
<li>Workers are now murdered by age (the oldest is killed first).</li>
</ul>
</div>
<div class="section" id="id29">
<div class="section" id="id30">
<h2><a class="toc-backref" href="#contents">0.6.1 / 2010-02-24</a></h2>
<ul class="simple">
<li>Added gunicorn config file support for Django admin command</li>
@ -346,7 +360,7 @@ temporary data.</li>
<li>Removed TTIN/TTOU from workers which blocked other signals.</li>
</ul>
</div>
<div class="section" id="id30">
<div class="section" id="id31">
<h2><a class="toc-backref" href="#contents">0.6 / 2010-02-22</a></h2>
<ul class="simple">
<li>Added setproctitle support</li>
@ -354,14 +368,14 @@ temporary data.</li>
permissions, new uid/gid permissions are only set for workers.</li>
</ul>
</div>
<div class="section" id="id31">
<div class="section" id="id32">
<h2><a class="toc-backref" href="#contents">0.5.1 / 2010-02-22</a></h2>
<ul class="simple">
<li>Fix umask</li>
<li>Added Debian packaging</li>
</ul>
</div>
<div class="section" id="id32">
<div class="section" id="id33">
<h2><a class="toc-backref" href="#contents">0.5 / 2010-02-20</a></h2>
<ul class="simple">
<li>Added <a class="reference external" href="configuration.html">configuration file</a> handler.</li>
@ -383,38 +397,39 @@ permissions, new uid/gid permissions are only set for workers.</li>
<div class="contents topic" id="contents">
<p class="topic-title first">Contents</p>
<ul class="simple">
<li><a class="reference internal" href="#id1" id="id33">0.14.3 / 2012-05-15</a></li>
<li><a class="reference internal" href="#id2" id="id34">0.14.2 / 2012-03-16</a></li>
<li><a class="reference internal" href="#id3" id="id35">0.14.1 / 2012-03-02</a></li>
<li><a class="reference internal" href="#id4" id="id36">0.14.0 / 2012-02-27</a></li>
<li><a class="reference internal" href="#id5" id="id37">0.13.4 / 2011-09-23</a></li>
<li><a class="reference internal" href="#id6" id="id38">0.13.3 / 2011-09-19</a></li>
<li><a class="reference internal" href="#id7" id="id39">0.13.2 / 2011-09-17</a></li>
<li><a class="reference internal" href="#id8" id="id40">0.13.1 / 2011-08-22</a></li>
<li><a class="reference internal" href="#id9" id="id41">0.13.0 / 2011-08-22</a></li>
<li><a class="reference internal" href="#id10" id="id42">0.12.2 / 2011-05-18</a></li>
<li><a class="reference internal" href="#id11" id="id43">0.12.1 / 2011-03-23</a></li>
<li><a class="reference internal" href="#id12" id="id44">0.12.0 / 2010-12-22</a></li>
<li><a class="reference internal" href="#id13" id="id45">0.11.2 / 2010-10-30</a></li>
<li><a class="reference internal" href="#id14" id="id46">0.11.1 / 2010-09-02</a></li>
<li><a class="reference internal" href="#id15" id="id47">0.11.0 / 2010-08-12</a></li>
<li><a class="reference internal" href="#id16" id="id48">0.10.1 / 2010-08-06</a></li>
<li><a class="reference internal" href="#id17" id="id49">0.10.0 / 2010-07-08</a></li>
<li><a class="reference internal" href="#id18" id="id50">0.9.1 / 2010-05-26</a></li>
<li><a class="reference internal" href="#id19" id="id51">0.9.0 / 2010-05-24</a></li>
<li><a class="reference internal" href="#id20" id="id52">0.8.1 / 2010-04-29</a></li>
<li><a class="reference internal" href="#id21" id="id53">0.8.0 / 2010-04-22</a></li>
<li><a class="reference internal" href="#id22" id="id54">0.7.2 / 2010-04-15</a></li>
<li><a class="reference internal" href="#id23" id="id55">0.7.1 / 2010-04-01</a></li>
<li><a class="reference internal" href="#id24" id="id56">0.7.0 / 2010-03-26</a></li>
<li><a class="reference internal" href="#id25" id="id57">0.6.5 / 2010-03-11</a></li>
<li><a class="reference internal" href="#id26" id="id58">0.6.4 / 2010-03-08</a></li>
<li><a class="reference internal" href="#id27" id="id59">0.6.3 / 2010-03-07</a></li>
<li><a class="reference internal" href="#id28" id="id60">0.6.2 / 2010-03-01</a></li>
<li><a class="reference internal" href="#id29" id="id61">0.6.1 / 2010-02-24</a></li>
<li><a class="reference internal" href="#id30" id="id62">0.6 / 2010-02-22</a></li>
<li><a class="reference internal" href="#id31" id="id63">0.5.1 / 2010-02-22</a></li>
<li><a class="reference internal" href="#id32" id="id64">0.5 / 2010-02-20</a></li>
<li><a class="reference internal" href="#id1" id="id34">0.14.4 / 2012-06-24</a></li>
<li><a class="reference internal" href="#id2" id="id35">0.14.3 / 2012-05-15</a></li>
<li><a class="reference internal" href="#id3" id="id36">0.14.2 / 2012-03-16</a></li>
<li><a class="reference internal" href="#id4" id="id37">0.14.1 / 2012-03-02</a></li>
<li><a class="reference internal" href="#id5" id="id38">0.14.0 / 2012-02-27</a></li>
<li><a class="reference internal" href="#id6" id="id39">0.13.4 / 2011-09-23</a></li>
<li><a class="reference internal" href="#id7" id="id40">0.13.3 / 2011-09-19</a></li>
<li><a class="reference internal" href="#id8" id="id41">0.13.2 / 2011-09-17</a></li>
<li><a class="reference internal" href="#id9" id="id42">0.13.1 / 2011-08-22</a></li>
<li><a class="reference internal" href="#id10" id="id43">0.13.0 / 2011-08-22</a></li>
<li><a class="reference internal" href="#id11" id="id44">0.12.2 / 2011-05-18</a></li>
<li><a class="reference internal" href="#id12" id="id45">0.12.1 / 2011-03-23</a></li>
<li><a class="reference internal" href="#id13" id="id46">0.12.0 / 2010-12-22</a></li>
<li><a class="reference internal" href="#id14" id="id47">0.11.2 / 2010-10-30</a></li>
<li><a class="reference internal" href="#id15" id="id48">0.11.1 / 2010-09-02</a></li>
<li><a class="reference internal" href="#id16" id="id49">0.11.0 / 2010-08-12</a></li>
<li><a class="reference internal" href="#id17" id="id50">0.10.1 / 2010-08-06</a></li>
<li><a class="reference internal" href="#id18" id="id51">0.10.0 / 2010-07-08</a></li>
<li><a class="reference internal" href="#id19" id="id52">0.9.1 / 2010-05-26</a></li>
<li><a class="reference internal" href="#id20" id="id53">0.9.0 / 2010-05-24</a></li>
<li><a class="reference internal" href="#id21" id="id54">0.8.1 / 2010-04-29</a></li>
<li><a class="reference internal" href="#id22" id="id55">0.8.0 / 2010-04-22</a></li>
<li><a class="reference internal" href="#id23" id="id56">0.7.2 / 2010-04-15</a></li>
<li><a class="reference internal" href="#id24" id="id57">0.7.1 / 2010-04-01</a></li>
<li><a class="reference internal" href="#id25" id="id58">0.7.0 / 2010-03-26</a></li>
<li><a class="reference internal" href="#id26" id="id59">0.6.5 / 2010-03-11</a></li>
<li><a class="reference internal" href="#id27" id="id60">0.6.4 / 2010-03-08</a></li>
<li><a class="reference internal" href="#id28" id="id61">0.6.3 / 2010-03-07</a></li>
<li><a class="reference internal" href="#id29" id="id62">0.6.2 / 2010-03-01</a></li>
<li><a class="reference internal" href="#id30" id="id63">0.6.1 / 2010-02-24</a></li>
<li><a class="reference internal" href="#id31" id="id64">0.6 / 2010-02-22</a></li>
<li><a class="reference internal" href="#id32" id="id65">0.5.1 / 2010-02-22</a></li>
<li><a class="reference internal" href="#id33" id="id66">0.5 / 2010-02-20</a></li>
</ul>
</div>
</div>

View File

@ -8,6 +8,20 @@ _TOC_TOP_
_TOC_BOT_
0.14.4 / 2012-06-24
-------------------
- new --graceful-timeout option
- fix multiple issues with request limit
- more fixes in django settings resolutions
- fix gevent.core import
- fix keepalive=0 in eventlet worker
- fix handle_error display with the unix worker
- fix tornado.wsgi.WSGIApplication calling error
- **breaking change**: take the control on graceful reload back.
graceful can't be overrided anymore using the on_reload function.
0.14.3 / 2012-05-15
-------------------