mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
update doc
This commit is contained in:
parent
1edaef88dc
commit
5ec16e6d0a
@ -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>"-" means log to stdout.</p>
|
||||
<p>"-" 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>"-" means log to stdout.</p>
|
||||
<p>"-" 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>
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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">
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 & 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 "on_starting" 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 "egg:gunicorn#gevent_wsgi" 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>
|
||||
|
||||
@ -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
|
||||
-------------------
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user