1736 Commits

Author SHA1 Message Date
benoitc
3cda90a214 reduce CPU usage. 2014-06-01 09:50:40 +02:00
Randall Leeds
7e699b7d51 Use trollius on Py2 instead of bundling selectors 2014-05-31 13:31:07 -07:00
Randall Leeds
eb17b13b1d Guard against race condition on threads keepalive
Requests after the first on a keepalive connection remove themselves
from the keepalive timeout queue. This presents a race condition where
the main thread might try to access the first element of the queue
after it has been removed.
2014-05-31 13:30:42 -07:00
benoitc
b7cbb59bbc remove useless code 2014-05-31 07:18:39 +02:00
benoitc
b810a1d1a9 fix doc 2014-05-31 07:13:36 +02:00
benoitc
d775b576e8 improve worker shutdown 2014-05-31 01:21:05 +02:00
benoitc
fb53047b73 fix timeout and socket ssl wrapping 2014-05-31 01:15:05 +02:00
benoitc
e8e9d285a6 fixes 2014-05-31 00:44:20 +02:00
benoitc
5ba749e9ca some quick optimisations 2014-05-31 00:17:29 +02:00
benoitc
c8e93a6f21 make the code simpler and fix issue with ab 2014-05-30 23:26:30 +02:00
benoitc
f8b415496d refactor the gthread worker for a better usage of asyncio
we have the possibility to pass a data payload to the poller when
registering a file object. We are using this possibility to pass a
callback. the callback will either accept or handle a connection when
the read event is triggered.

while I am here make the future result asynchronous so we don't block
the I/O event handling.
2014-05-30 15:59:47 +02:00
benoitc
7f9d745eb5 reuse asyncio code in the threaded worker 2014-05-30 11:07:35 +02:00
Randall Leeds
86bab94c6c Merge pull request #764 from mattrobenolt/patch-1
Consistent usage of `@proxy_to_app` named location
2014-05-27 14:12:34 -07:00
Randall Leeds
72d5b3a3e4 Merge pull request #763 from mattrobenolt/patch-2
Update nginx config to reflect best practice
2014-05-27 14:12:20 -07:00
Matt Robenolt
d7c7c59bdb Consistent usage of @proxy_to_app named location
This can be confusing since `location / {}` and `location @proxy_to_app {}` were both being used.
2014-05-26 20:24:09 -07:00
Matt Robenolt
0e78e78598 Update nginx config to reflect best practice
Should use `try_files` then fall back to a named location block. This is also what's recommended inside the docs already: http://gunicorn-docs.readthedocs.org/en/latest/deploy.html#nginx-configuration
2014-05-26 20:20:15 -07:00
Randall Leeds
ca43784e86 Merge pull request #761 from berkerpeksag/fix-string-types
Use six.string_types instead of basestring.
2014-05-21 23:41:57 -07:00
Berker Peksag
e9e04aa6c6 Use six.string_types instead of basestring. 2014-05-22 09:23:39 +03:00
Randall Leeds
dff4223c9f Merge pull request #760 from TedWantsMore/patch-1
Update deploy.rst
2014-05-21 22:44:24 -07:00
TedWantsMore
6248208ae0 Update deploy.rst 2014-05-21 15:49:50 -07:00
Randall Leeds
223ab2a3f3 Remove reference to unmaintained py24 branch 2014-05-17 17:04:29 -07:00
Randall Leeds
31bd542790 Merge pull request #757 from berkerpeksag/update-settings-doc
Sync settings documentation with gunicorn/config.py.
2014-05-17 17:03:20 -07:00
Berker Peksag
ecdae40c68 Sync settings documentation with gunicorn/config.py. 2014-05-18 03:01:18 +03:00
Randall Leeds
b492ee92e1 Merge pull request #756 from berkerpeksag/fix-markup-log-format-doc
Fix markup of the access_log_format documentation.
2014-05-17 16:44:30 -07:00
Randall Leeds
413aa155b5 Merge pull request #755 from berkerpeksag/fix-typos
Fix a couple of typos.
2014-05-17 16:42:50 -07:00
Berker Peksag
39dbe983c3 Fix markup of the access_log_format documentation. 2014-05-18 02:02:33 +03:00
Berker Peksag
f5f5461ab8 Fix a couple of typos. 2014-05-18 01:30:36 +03:00
Benoit Chesneau
bab40df767 Merge pull request #754 from berkerpeksag/sysconf-outdated-info
Remove an outdated paragraph about getting CPU information.
2014-05-18 00:06:37 +02:00
Benoit Chesneau
a14a73a452 Merge pull request #753 from berkerpeksag/improve-installation-docs
Update installation docs to mention about pip.
2014-05-18 00:06:08 +02:00
Berker Peksag
dcaf2d7f9b Remove an outdated paragraph about getting CPU information.
Python 2.5 or older versions are not supported by Gunicorn.

Also, fixed a typo: mentionned -> mentioned
2014-05-18 01:01:35 +03:00
Randall Leeds
bb73468b4c Merge pull request #752 from berkerpeksag/cleanup-makefile
Cleanup Makefile.
2014-05-17 14:35:29 -07:00
Berker Peksag
109880a8c3 Update installation docs to mention about pip.
Other changes:

- Minor markup and style changes
- Use https in URLs
- Remove the "python setup.py develop" part from the
  documentation. It's useful for development.
2014-05-17 23:55:41 +03:00
Berker Peksag
be90882151 Cleanup Makefile.
- The "--no-site-packages" option is default now
- "pip install -e" is basically equivalent to "python setup.py develop"
- Delete also dist/ and MANIFEST
- Delete all *.py[co] files (and __pycache__ directories on Python 3)
2014-05-16 20:12:49 +03:00
benoitc
81810d9f04 reuse the code 2014-05-15 08:03:06 +02:00
Randall Leeds
2583f58442 Merge pull request #750 from berkerpeksag/startswith-idiom
Remove the redundant if clause in gunicorn/workers/workertmp.py.
2014-05-14 15:45:16 -07:00
Randall Leeds
f4af998f92 Merge pull request #749 from berkerpeksag/remove-with_statement
Remove __future__.with_statement imports.
2014-05-14 15:35:56 -07:00
Randall Leeds
906c3fd047 Merge pull request #751 from berkerpeksag/classifiers-python3.4
Add Python 3.4 to classifiers.
2014-05-14 15:34:15 -07:00
Berker Peksag
08ec1b2c70 Also, enable Python 3.4 on Travis CI.
(The "--use-mirrors" option was deprecated, so I removed it.)
2014-05-15 01:19:49 +03:00
Berker Peksag
9f8f37d07d Add Python 3.4 to classifiers.
I tested Gunicorn with the following command on Pytohn 3.4.0:

    $ python3.4 -m venv venv34
    $ . venv34/bin/activate
    $ pip install -e .
    $ pip install -r requirements_dev.txt
    $ py.test tests/
2014-05-15 01:16:38 +03:00
Berker Peksag
2f932664fd Remove the redundant if clause in gunicorn/workers/workertmp.py. 2014-05-15 00:53:47 +03:00
Berker Peksag
829e8d32d4 Remove __future__.with_statement imports.
Gunicorn requires Python 2.6 or newer now:

http://docs.gunicorn.org/en/latest/install.html#requirements
2014-05-15 00:34:02 +03:00
Randall Leeds
b9d291e692 Merge pull request #745 from tilgovi/worker-signals-mixup
Fix mixed up worker signal handling
2014-05-14 12:18:37 -07:00
Benoit Chesneau
63451aabe9 Merge pull request #747 from wooparadog/stop-all-servers
Stop all servers
2014-05-14 12:07:17 +02:00
WooParadog
9eb589576d Stop all servers 2014-05-14 17:45:30 +08:00
Randall Leeds
428f40a4ac Merge pull request #746 from ifduyue/remove_unused_imports
Remove unused imports
2014-05-14 00:41:44 -07:00
Yue Du
cb817dfa98 Remove unused imports 2014-05-14 14:08:18 +08:00
Randall Leeds
d9c15dcde5 Merge pull request #740 from tshlabs/735-envvars-preload
Move setting of environmental variables (configured via the raw_env sett...
2014-05-13 15:17:10 -07:00
Nick Pillitteri
9c1b46f998 Move setting of environmental variables before preload_app start.
Move setting of env vars from Arbiter.start to Arbiter.setup so that they are available during application start up when 'preload_app' is used.

Closes #735
2014-05-13 15:46:06 -04:00
Randall Leeds
63967597a0 Fix mixed up worker signal handling
Commit 81241907ffcf94517ffa14b8427205906b61b540 changed the signal
handling by switching the roles of `TERM` and `QUIT` for the arbiter
so that `TERM` is graceful and `QUIT` is not.

At the time, workers performed graceful shutdown on `QUIT` and quick
shutdown on `TERM` and `INT`. This behavior was also changed so that
`QUIT` (and `INT`) cause a quick shutdown and `TERM` is graceful.

However, the documentation incorrectly reversed the roles of the worker
signals and the arbiter was not updated to use the correct signals.

This commit fixes the documentation and the arbiter signals.
2014-05-13 11:12:01 -07:00
Benoit Chesneau
fc9290e121 Merge pull request #741 from ifduyue/logger_class_bug
Fix: logger_class can be undefined.
2014-05-13 17:08:15 +02:00