1159 Commits

Author SHA1 Message Date
Ben Phillips
6e2de5ab6e Tidy up comments 2014-08-19 07:48:31 +01:00
benoitc
717460b336 bump to 19.1.1 2014-08-16 13:17:54 +02:00
Berker Peksag
719e61bf18 Raise a RuntimeError if asyncio is not available.
Fixes #830.
2014-08-16 12:19:23 +02:00
Randall Leeds
88804ae035 Merge pull request #853 from alq666/alq666/logger-class
Respect logger_class setting unless statsd is on
2014-08-15 21:26:34 -07:00
Alexis Le-Quoc
cc40f2e31f Respect logger_class setting unless statsd is on 2014-08-15 23:31:16 -04:00
Kevin Littlejohn
c21c3c20bd added timezone to logging 2014-08-13 09:53:32 +10:00
Randall Leeds
42ff88bbbd Merge pull request #838 from mgood/statsd-timing
Send statsd timing metrics in milliseconds
2014-08-05 00:26:40 -07:00
Alexis Le-Quoc
7db45868e0 Typo 2014-08-04 15:36:14 -04:00
Alexis Lê-Quôc
6cb67e49ca Restore number of workers in DEBUG log 2014-08-04 15:30:12 -04:00
Alexis Le-Quoc
bc2e132bce Rework logging to allow for empty log message while pushing metrics 2014-08-03 17:15:13 -04:00
Matt Good
7c10c7d22d Send statsd timing metrics in milliseconds
The statsd documentation indicates that timing values are expected to be in
milliseconds, not seconds:

  "The glork took 320ms to complete this time"
  https://github.com/etsy/statsd/blob/master/docs/metric_types.md#timing
2014-08-03 13:38:07 -07:00
Jakub Paweł Głazik
ed94dd0267 Display correct pid of already running instance 2014-07-31 01:31:46 +02:00
Benoit Chesneau
428c7e1f98 Merge pull request #826 from benoitc/fix/771
support tornado 4.0
2014-07-26 11:42:12 +02:00
Benoit Chesneau
7bb1a57815 Merge pull request #809 from berkerpeksag/set-logging-paste
Set global logging configuration from a Paste config.
2014-07-26 11:24:01 +02:00
benoitc
9ec27c1ef7 support tornado 4.0
fix #771
2014-07-26 09:06:07 +02:00
Stéphane Wirtel
2e8db50989 We need at least one argument for the WSGIApplication fix #815 2014-07-25 10:25:56 +02:00
Andrew Svetlov
2b2725dddb Support UNIX sockets in gaiohttp worker 2014-07-23 07:33:18 +03:00
Randall Leeds
ec62d487f7 Fix major issue with threaded worker keepalive
The keepalive queue management is fixed to not pop extra connections
incorrectly.

Close #816
2014-07-12 12:46:22 -07:00
Berker Peksag
b6d445a5a1 Set global logging configuration from a Paste config.
Since gunicorn.app.pasterapp.{run, paste_server} are deprecated,
there is no way to configure the logging module from a Paste config
file.
2014-06-29 04:08:37 +03:00
benoitc
403acab3b1 update changelog 2014-06-28 17:59:34 +02:00
benoitc
46afb979e2 Revert "swicth confing load order"
This reverts commit b5aab16bf590cacff1825410d9cfaea925de5b24.

Change was broken. If we simply switch there, the error when loading the
config will not be reported correctly. We should find a better way.
2014-06-28 17:06:18 +02:00
benoitc
b5aab16bf5 swicth confing load order
fix #800
2014-06-28 16:54:51 +02:00
Benoit Chesneau
ceda9c597c Merge pull request #748 from alq666/statsd-logger
gunicorn instrumentation via statsD and a new logger class
2014-06-28 16:45:54 +02:00
Benoit Chesneau
b2d2ff737e Merge pull request #807 from berkerpeksag/fix-runtimeerror
Fix RuntimeError in gunicorn.reloader.
2014-06-28 16:44:44 +02:00
benoitc
aacfba1aed fetch all input body in gaiohttp to work w/ non asyncio wsgi apps
I took the suggestion of @asvetlov. This change load first all the body
in RAM in the gaiohttp worker to handle classic WSGI application. This
is a temporary fix, it should be replaced asap by a streaming behaviour.
It does the trick anyway for most application since you're not supposed
to handle large body directly with gunicorn.

fix #803
2014-06-28 16:38:01 +02:00
Berker Peksag
da5e847b63 Fix RuntimeError in gunicorn.reloader.
Here's the reproducer in Python 3.3:

    $ gunicorn --paste paste.ini --reload

Then I got the following exception:

Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/local/lib/python3.3/threading.py", line 901, in _bootstrap_inner
    self.run()
  File "/home/berker/hacking/mediagoblin/venv3/lib/python3.3/site-packages/gunicorn/reloader.py", line 41, in run
    for filename in self.get_files():
  File "/home/berker/hacking/mediagoblin/venv3/lib/python3.3/site-packages/gunicorn/reloader.py", line 29, in get_files
    for module in sys.modules.values()
  File "/home/berker/hacking/mediagoblin/venv3/lib/python3.3/site-packages/gunicorn/reloader.py", line 28, in <listcomp>
    re.sub('py[co]$', 'py', module.__file__)
RuntimeError: dictionary changed size during iteration
2014-06-28 07:03:31 +03:00
Paul J. Davis
fc364cca7d Fix check for file-like objects
The `is_fileobject()` function in utils.py would break when the respones
was a wrapped `HTTPResponse`'s `raw` attribute. This just adds the
`IOError` exception type to the `is_fileobject()` function so that the
response can be streamed normally.

Fixes #805
2014-06-26 14:31:40 -05:00
Thomas Grainger
2bde8eb103 Support loading config from module 2014-06-20 09:20:37 +01:00
Alexis Le-Quoc
3c9b9e3218 Change --statsd-to to --statsd-host 2014-06-18 21:50:50 -04:00
Alexis Le-Quoc
05051aa8b2 Simpler statsd integration
No need to specify a logger class.
--statsd-to is enough to trigger the Statsd logger automatically
2014-06-18 21:33:04 -04:00
Alexis Le-Quoc
c3421a833d Merge branch 'master' of https://github.com/benoitc/gunicorn into statsd-logger 2014-06-18 11:23:36 -04:00
Benoit Chesneau
42c16b17d1 Merge pull request #789 from benoitc/fix/787
fix #787 check if we load a pyc file or not.
2014-06-16 21:53:44 +02:00
benoitc
f41f86c3da StopIteration shouldn't be catched at this level.
fix #790
2014-06-14 21:46:35 +02:00
benoitc
68cd2b92c8 Revert "check the python requirements for the gaiohttp server"
This reverts commit 4ac7e55161553503817dfbd01ccc5f263d163e69.
2014-06-14 12:05:00 +02:00
benoitc
4ac7e55161 check the python requirements for the gaiohttp server
fix #788
2014-06-14 11:59:32 +02:00
benoitc
31f465d271 fix #787 check if we load a pyc file or not. 2014-06-14 10:09:45 +02:00
benoitc
7b902a2378 fix #783 fix tornado worker with missing option
Gunicorn doesn't ovveride the WSGI headers with the X heaaders anymore.
2014-06-14 07:02:40 +02:00
benoitc
26df0651bc bump to 19.1 2014-06-13 22:45:37 +02:00
Benoit Chesneau
94f2cc03e1 Merge pull request #786 from zeezooz/fix_signals
Change the rest of QUIT and TERM signals.
2014-06-13 22:40:03 +02:00
Andrew Burdo
ed2d2a8ab3 Change the rest of QUIT and TERM signals.
This will restore graceful shutdown of workers by master.
Also worker_int callback is moved from handle_exit (INT and TERM before switching) to handle_quit(INT and QUIT).
2014-06-13 14:32:11 +03:00
benoitc
fd5c2e99fb fix #785: handle binary type address given to a client socket address 2014-06-13 13:22:18 +02:00
Andrew Svetlov
3665e5bb5c Register gaiohttp worker for Python 3.3+ only. 2014-06-09 18:05:38 +03:00
Andrew Svetlov
fbb2d01d13 Merge pull request #775 from fafhrd91/master
aiohttp worker
2014-06-09 14:44:24 +03:00
Benoit Chesneau
545da3dbb6 Merge pull request #772 from fillest/master
fix HTTP-violating excess whitespace in write_error output
2014-06-07 15:13:53 +02:00
Nikolay Kim
a7eed00c2f aiohttp worker 2014-06-06 20:25:57 -07:00
Matt Billenstein
bc41bad2d6 workers/async.py - handle_request takes listener_name instead of listener
AFAICT - this should have been updated in 62f6fb2d
2014-06-04 18:18:28 -07:00
Philipp Saveliev
dcb9464bbe fix HTTP-violating excess whitespace in write_error output 2014-06-03 03:05:27 +04:00
Randall Leeds
ae14150cad Merge pull request #727 from benoitc/feature/threaded-worker
Feature/threaded worker
2014-06-01 14:16:44 -07:00
benoitc
8436389229 define an object class instance. 2014-06-01 22:30:46 +02:00
benoitc
ff6169cc20 gthreads: only check requirements for python < 3.4 2014-06-01 20:44:50 +02:00