1798 Commits

Author SHA1 Message Date
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
benoitc
14f71ebf39 compatibility with python 2
Add support of the threaded worker on python 2.7. python 2.7 has no
futures module. With this change the compatibility module is installed.
2014-05-13 15:18:43 +02:00
benoitc
67800292e0 fix kqueue poller.
this change initialise the event loop after the process has forked so we
make sure to inherit from the file descriptor.

Also fix the number of events we are waiting for. The python
implementation requires a positive number.
2014-05-13 13:57:34 +02:00
benoitc
eadc526192 fix PollPoller 2014-05-13 13:21:14 +02:00
benoitc
6aa99e4441 fix keepalive 2014-05-13 12:30:57 +02:00
benoitc
c353eaacee fix ThreadWorker 2014-05-13 10:29:26 +02:00
benoitc
c8f6269f29 fix the fdevents module 2014-05-13 10:27:49 +02:00
benoitc
67866f275f add missing gthreads worker 2014-05-13 10:21:48 +02:00
Yue Du
9e0d04b562 Fix: logger_class can be undefined. 2014-05-13 14:06:36 +08:00
Alexis Lê-Quôc
d2610dc483 Cosmetic cleanup 2014-05-12 18:31:37 +02:00
Alexis Le-Quoc
ae98413272 More in-depth documentation of the new instrumentation layer 2014-05-12 18:26:51 +02:00
Alexis Le-Quoc
8a3a3fcfa3 Merge branch 'master' of https://github.com/benoitc/gunicorn into statsd-logger 2014-05-12 17:51:02 +02:00
Randall Leeds
b8583a6141 Merge pull request #739 from ifduyue/ifduyue/remove_obsolete_func_sorter
Remove obsolete function sorter
2014-05-11 15:34:49 -07:00
Alexis Le-Quoc
af06c54e5b Drop tracing and sampling to keep the code tight 2014-05-09 23:44:47 -04:00
Alexis Le-Quoc
d21692456b Tested with mainline statsd 2014-05-09 23:19:22 -04:00
Alexis Le-Quoc
9b5d28767c Sanitize arguments to not trick regular loggers 2014-05-09 21:31:41 -04:00
Yue Du
288a7b6427 Remove obsolete function sorter 2014-05-09 18:11:02 +08:00
Randall Leeds
20ed91497c Do not swallow unexpected errors when reaping
I can't imagine this wasn't what was intended here. Might be a merge
artifact but I can't trace it.

Thanks to Antti Kaihola (@akaihola) for spotting this.

Close #733
2014-05-07 20:38:15 -07:00
Alexis Le-Quoc
35c7147419 Metrics sent on request and arbiter 2014-05-07 19:11:55 -04:00
Randall Leeds
fd22ea24ae Merge pull request #727 from benoitc/feature/651
PR that rebase #651. Should also fix #625.

Add the capability to load gunicorn.base.Application without the
loading of the arguments of the command line.
2014-05-07 14:53:29 -07:00
Randall Leeds
db0698f371 Merge pull request #736 from matrixise/feature/651
Feature/651
2014-05-07 14:25:18 -07:00
Alexis Le-Quoc
0b5cc1e293 First cut of logger-based statsd 2014-05-05 15:50:13 -07:00
Stéphane Wirtel
33d35a1a66 Work In Progress: Move the custom application section to a specific file and add it into the TOC 2014-04-30 11:41:18 +02:00
Stéphane Wirtel
6211560c47 Start the documentation for the BaseApplication class 2014-04-30 10:59:44 +02:00
Randall Leeds
249511c5bb Merge pull request #725 from sholsapp/master
Remove incompatible SSL option in Python 2.6
2014-04-24 14:25:06 -07:00
Randall Leeds
8271f492ec Merge pull request #728 from hobson/master
Fix code.djangoproject.com/ticket/20185
2014-04-23 16:02:10 -07:00
Hobson Lane
a8e8b30e47 Fix code.djangoproject.com/ticket/20185
This change favors `python2` over `python3` by reversing the try/except order. 

Untested in `python3`, as most Django packages are not yet `python3`-compatible.
Works in `python2`, `Django 1.5.4`, `gunicorn 18.0`.

When running `gunicorn` in python 2, if a django model doesn't validate, the `gunicorn` will fail to display informative error messages about your model and instead complain about `str`/`unicode`:

Django was falsely accused of [this bug](https://code.djangoproject.com/ticket/20185)
2014-04-22 16:33:41 -07:00
Stéphane Wirtel
a44807f9f5 Add an example of a standalone app 2014-04-22 21:48:57 +02:00
Stephen Holsapple
c353828351 Define Ciphers config conditionally
We only expose the `Ciphers` config parameter in versions of Python that
support it (i.e., >= Python 2.7).
2014-04-22 12:21:01 -07:00
Stephen Holsapple
cdca314298 Remove incompatible SSL option in Python 2.6
An exposed SSL option, `ciphers`, was added in Python 2.7 and breaks older
versions of Python with an unexpected kwargs error.

I'm not sure if this is the best way to fix this, and I'm happy to consider
other approachs. Some things I'm a bit up in the air about are:

  i) This is only broken for Python 2.6 and older whose ssl module doesn't
  expose this. Do the other types of workers not use ssl module, and thus might
  be able to make use of the `cipher` kwarg?

  ii) Should we silently or explicity fail? I couldn't find a nice way to do
  this because the configuration setting has a default value and resulted in
  stringy code to special case the one setting`.

What I would really like to do would add a "python_version" validator that
could intelligently handle this, but I went off into the weeds figuring out
how the SettingsMeta class works. :)
2014-04-14 15:59:03 -07:00
Benoit Chesneau
3bf6d0e770 Merge pull request #719 from bobzilladev/access-timing
Fix microseconds logging, add decimal seconds.
2014-04-13 09:53:25 +02:00
benoitc
5f0a329b58 add fdevents module
This module add a new cross platform event poller to gunicorn. It allows
you to listen on different fds in an efficient manner.

On linux it's using epoll, bsd/darwin kqueue...
2014-04-13 08:59:47 +02:00
Benoit Chesneau
df48f54146 Merge pull request #723 from zyegfryed/patch-1
Typo
2014-04-01 11:27:34 +02:00
Sébastien Fievet
ce3f9e18bb Typo 2014-04-01 11:18:03 +02:00
Randall Leeds
a279d69550 Export logo svg as plain svg 2014-03-31 11:14:45 -07:00
benoitc
7349c4fb9a add --threads param 2014-03-30 15:27:53 +02:00
Bob Hagemann
5361fff766 Fix microseconds logging, add decimal seconds.
Apache will log %D microseconds over 1 million for requests that take over a second, this change sync's that access log behavior since the formatting seems to be based on that. So a request that takes 1 second and 30 milliseconds will have 1000030 for this atom.

This pull request  also adds a %L atom for decimal seconds for a quick human-readable latency number. In the above example it would output 1.000030 to the log.
2014-03-27 11:33:16 -07:00
Randall Leeds
e42859492c Add Jeryn Mathew to thanks
Thanks, @jerynmathew
2014-03-17 17:00:38 -07:00
Randall Leeds
21ea843db4 Merge pull request #696 from jerynmathew/fix/693-config-pyc
Fix for #693
2014-03-17 16:59:37 -07:00
Jeryn Mathew
b6f3cb8e7c Fix for issue #693
- Added changes to file read, as per review comments
2014-03-17 10:26:53 +05:30
Jeryn Mathew
e1e5d3638f Fix for issue #693
- Remodeled the logic to use imp module to validate the python
	  gunicorn config file
2014-03-15 12:16:18 +05:30
benoitc
4c7b17e996 bump to R19 2014-03-09 07:30:43 -07:00
benoitc
1e8b375038 fix doc and make sure we get the --paste option 2014-03-09 07:28:46 -07:00
Randall Leeds
b35e368515 Remove references to deprecated console scripts 2014-03-08 18:21:36 -08:00
Randall Leeds
e5442332fe Support running specific paster apps from .ini
Close #400
2014-03-08 18:16:03 -08:00
benoitc
3ad5ee9120 fix title levels 2014-03-08 18:13:38 -08:00
benoitc
0d3b8ea379 There should only be one.
gunicron_paster, gunicorn_django and other hacks are deprecated. This
patch only advertise gunicorn as the standard, stable and well supported
command.
2014-03-08 18:09:39 -08:00