1972 Commits

Author SHA1 Message Date
benoitc
fcd9d04515 stop to accept more requests when maximum accepted is achieved
this change makes sure that a worker don't handle more requests than it can
achieved.  The new workflow is quite more simple:

listeners are put in the poller. On read we try to accept on them.
When a connection is accepted it is put in the execution queue
When a request is done and the socket can be kept alived, we put it in the
poller, on read event we will try to handle the new request. If it is not put
out of the poller before the keepalive timeout the socket will be closed.
if all threads are busy we are waiting until one request complet. If it
doesn't complete before the timeout we kill the worker.

fix #908
2014-12-20 11:16:58 +01:00
benoitc
fd95f66f2d fix run loop in sync worker 2014-12-19 08:59:22 +01:00
benoitc
d1a0973225 send SIGQUIT/SIGTERM only once to the workers
there is no need to send more than once the signal to the workers when
exiting. With this patch we are sending once the QUIT/TERM signal and  then
wait until the graceful timeout or until there are workers alive.

fix #655
2014-12-19 08:03:22 +01:00
Mark Lee
e63df69229 Clarify concurrent.futures requirement error message
Specify which PyPI package needs to be installed in order for the gthread
worker implementation to work on Python < 3.2.
2014-12-08 03:21:31 +02:00
Berker Peksag
44b090fa47 Remove an incorrect note from instrumentation.txt. 2014-12-01 08:52:17 +02:00
Berker Peksag
9f72be235c Add missing period. 2014-12-01 08:45:20 +02:00
Berker Peksag
9a3d580c52 Simplfy documentation index page. 2014-12-01 07:08:38 +02:00
Berker Peksag
4cab542097 Resort docs index. 2014-12-01 07:08:18 +02:00
Berker Peksag
6325898611 Fix syntax highlighting in configure.rst. 2014-12-01 07:07:55 +02:00
Berker Peksag
2043779b23 Improve the "Running Gunicorn" command. 2014-12-01 07:06:55 +02:00
Berker Peksag
761a1e5b76 Add ref links to configure.rst and faq.rst. 2014-12-01 07:06:18 +02:00
Berker Peksag
f4083fc72b Fix history header in news.rst. 2014-12-01 07:05:39 +02:00
Berker Peksag
963a677f31 Fix settings reference. 2014-12-01 07:04:57 +02:00
Berker Peksag
f0b9468ea3 Document statsd_* commands. 2014-12-01 07:04:10 +02:00
Berker Peksag
43d1eba3e3 Simplify README.rst. 2014-12-01 07:02:47 +02:00
Berker Peksag
7ce90373a8 Remove unused imports. 2014-12-01 07:00:02 +02:00
Randall Leeds
f3bb0e1e1d Fix typo WSGIErrorsWraper -> WSGIErrorsWrapper 2014-11-30 20:54:30 -08:00
Berker Peksag
b8b0a87fee Fix header in news.rst. 2014-11-30 08:49:20 +02:00
Berker Peksag
496c207a26 Fix ref URL of the pr role. 2014-11-30 00:39:00 +02:00
Berker Peksag
d12fc05de0 Added issue and pr roles.
This commit also split news.rst and 2014-news.rst. news.rst will
only contains latest unreleased version's changelog.
2014-11-30 00:39:00 +02:00
Benoit Chesneau
af4b1b9755 Merge pull request #946 from berkerpeksag/fix-namerror
Fix NameError in gunicorn/workers/gthread.py.
2014-11-24 23:06:59 +01:00
Benoit Chesneau
859a4b4bb4 Merge pull request #945 from berkerpeksag/flake8-cleanup
Use more Pythonic style in gunicorn/.
2014-11-24 23:06:34 +01:00
Berker Peksag
4713ef7f37 Pass a 'sent' parameter to Mock(). 2014-11-24 23:07:46 +02:00
Matt Long
71f7d353f0 Use sent instead of response_length in access log
Previously, resp.response_length is used for the b atom of the access
log formatter. If the application does not set a content-length header,
response_length is left as `None`, resulting in b being set to the
fallback "-". resp.sent is a more reliable way to determine the number
of bytes in the response body.
2014-11-24 23:03:47 +02:00
Berker Peksag
6086e31d07 Fix NameError in gunicorn/workers/gthread.py. 2014-11-24 18:45:00 +02:00
Berker Peksag
56e7d15fb8 Use more Pythonic style in gunicorn/. 2014-11-24 18:43:21 +02:00
Benoit Chesneau
783984cabd Merge pull request #944 from redspade/master
Added missing import for `platform` in tests/support.py for os x.
2014-11-24 15:06:19 +01:00
Sungho Ryu
53a4ea556f Added missing import for platform in tests/support.py for os x. 2014-11-24 14:58:31 +01:00
Berker Peksag
194b2d68e3 Also update docs/source/news.rst for #845. 2014-11-23 23:24:52 +02:00
Randall Leeds
cb7859caea add news 2014-11-23 12:05:56 -08:00
Randall Leeds
ac3554cb91 remove whitespace 2014-11-23 11:57:20 -08:00
Berker Peksag
469b97a8b7 Merge pull request #943 from BFriedland/copyedits
Fixed typos/copyediting
2014-11-23 01:10:59 +02:00
BFriedland
05c6977122 Fixed typos 2014-11-22 14:18:56 -08:00
Berker Peksag
fcb700ca66 Merge pull request #941 from benoitc/unify-paste-logging
Set logconfig default to paster more trivially
2014-11-20 08:59:58 +02:00
Randall Leeds
1b0901d661 Set logconfig default to paster more trivially
Rather than using fileConfig twice and risking different defaults
and behavior around disable_existing_loggers (ref #902), simply
set the default logging config file to be the paster config file
if it has a logger section and let glogging set up the rest.
2014-11-19 15:26:26 -08:00
Randall Leeds
2f6aa7535c Merge branch '867-fix-eventlet-shutdown' 2014-11-18 15:13:00 -08:00
Randall Leeds
2aabf48317 PEP8 2014-11-18 15:12:04 -08:00
Randall Leeds
415956da23 Fix eventlet shutdown to actively shut down the workers. 2014-11-18 15:12:04 -08:00
Randall Leeds
fcba1a6c1c Merge pull request #770 from dwagon/731-umask
731 - Avoid creating world writable files
2014-11-17 19:03:01 -08:00
K Subramanian
d203d022f5 Add Note for async workers with Django
Django lazy loads URLConf during the first request.
2014-11-17 18:36:09 -08:00
Randall Leeds
3bffef06c2 Merge pull request #936 from minichate/nginx_signal_docs
Remove no-longer-true statement about matching Nginx signal handling
2014-11-12 21:17:54 -08:00
Randall Leeds
14bbd1cfce comment formatting 2014-11-12 13:06:02 -08:00
Randall Leeds
96a15b38a8 Merge pull request #931 from laterpay/feature/921-ignore-async-handle_request-socket-error
Feature/921 ignore async handle request socket error
2014-11-12 13:05:09 -08:00
Christopher Troup
73aac61945 Remove no-longer-true statement about matching Nginx signal handling 2014-11-12 15:01:50 -05:00
Jonas Maurus
fbc1e29c72 use six.reraise to amend the traceback 2014-11-12 09:50:10 +00:00
Jonas Maurus
d0f1ff659f fix #921 by passing socket.error on to the caller (where it will be ignored) 2014-11-11 10:13:09 +00:00
Stéphane Wirtel
ccb08b541d Merge pull request #929 from wong2/dev
propagate proxy_protocol_info to keep-alive requests correctly, fix #923
2014-11-06 07:58:13 +01:00
wong2
f8902a6837 propagate proxy_protocol_info to keep-alive requests correctly, fix #923 2014-11-06 14:48:16 +08:00
benoitc
4c601ce447 optimize the sync worker
This change optimize the sync worker when we only have to listen on one
interface. While I'm here, I fixed a long and unnoticed outstanding issue when
we were accepting on multiple interfaces (wonder if someone really use it), at
some point soe interfaces were skipped.
2014-10-25 11:58:28 +02:00
Berker Peksag
c152ce0dd0 Add a versionadded directive to the sendfile documentation. 2014-10-20 20:17:30 +03:00