755 Commits

Author SHA1 Message Date
benoitc
9be094f9b0 update debian pkg 2010-09-02 22:40:04 +02:00
benoitc
e49c401a15 update doc. 2010-09-02 22:24:53 +02:00
benoitc
4ed9901708 fix max-requests from @davisp and me, reviewed by @davisp 2010-09-02 21:59:02 +02:00
benoitc
66cc6975d1 useless log. 2010-09-02 21:59:02 +02:00
Paul J. Davis
9c3a115e6d Add paparent to the THANKS file.
Previous commit fixes #87
2010-09-02 21:59:02 +02:00
PA Parent
7479b598b4 Fix the default proc name internal setting to work 2010-09-02 21:59:02 +02:00
benoitc
7715199b48 it's better to test when you use the right code to do it. We had a
blocking operation django example (we read a file already on the fs and
recreate another which blocked async schedulers).

While I'm here ease the code of eventlet worker. Just use the convenient
eventlet.serve function which already manage what we do and revert sopme
useless changes in body and header parsing.
2010-09-02 14:55:56 +02:00
Paul J. Davis
7e4ca4b809 Implementation of the max-requests feature.
Works on sync and eventlet works. Doesn't work on gevent_pywsig or
gevent_wsgi workers as we don't control their main loops. Tornado
workers appear to be broken.

Worst of all, this causes vanilla gevent workers to segfault. I'm
waiting to see if there's a known issue before considering what to
do next. Worst case we could refuse to run with the bad combination
of settings.
2010-09-01 11:32:26 +02:00
benoitc
8d089f95f9 workaround to prevent segfault with current gevent on osx. Disable
kqueue.
2010-09-01 11:30:20 +02:00
benoitc
5c498b6a89 do the same for others. 2010-09-01 10:30:30 +02:00
benoitc
c41d3edd36 notify before stopping. 2010-09-01 10:28:14 +02:00
benoitc
5ff6cd173f prevent GreenletExit exception. But we still have a warning :
http://code.google.com/p/gevent/issues/detail?id=41
2010-09-01 09:46:01 +02:00
benoitc
bbe7e46695 Rails hasn't been ported to Python yet. 2010-08-31 11:26:03 +02:00
Paul J. Davis
8c917816aa Added a link to the issue tracker on GitHub. 2010-08-30 20:47:22 -04:00
Paul J. Davis
3165b0f87f Fix a typo in the documentation.
Some examples had -C instead of -c for specifying the config file. Thanks
to martync@github for the report.

Fixes #86
2010-08-30 11:54:52 -04:00
benoitc
87296d5bc6 fix an issue. found when reviewing Jonas Borgströ patch. thanks! 2010-08-24 19:50:23 +02:00
benoitc
6fa48b95ac ignore some settings when needed 2010-08-23 11:17:58 +02:00
benoitc
ae79f33785 build from Settings list the run_gunicorn option list. 2010-08-23 11:06:00 +02:00
benoitc
96e7ec10dd bump release number 2010-08-23 10:23:33 +02:00
Paul J. Davis
abb4f2a765 Reseed the random number generator after fork().
Web applications use random numbers for things like sessions, if
we don't reseed then each worker will generate the same sequence
of random numbers which can lead to security concerns.

Thanks to Jonas Borgström for the patch.
2010-08-19 19:01:16 -04:00
George Kollias
5a4e16cf5b * Added 'worker_exit' server hook
Fixes #81.
2010-08-16 10:50:25 -04:00
Paul J. Davis
1df1bca7b7 Don't override the default bind address.
An old default was overriding the config hierarchy.
2010-08-16 10:45:05 -04:00
benoitc
e625188196 fix issue #84. thanks! 2010-08-16 12:10:27 +02:00
benoitc
ea77f56449 update doc 2010-08-12 22:34:58 +02:00
Paul J. Davis
006a8b6e9d Drop Server and Date headers in start_response.
We now treat Server and Date headers as hop-by-hop headers (ie, drop them)
so that they aren't repeated. While not technically hop-by-hop, the WSGI
spec says we should take the role of an origin server.

Fixes #79
2010-08-12 16:11:45 -04:00
benoitc
d37f0a6555 "Yep. Delete it" . fix issue #82. opening a ticket with a not for this
change so if someone figures how to use TCP_CORK or TCP_NOPUSH we can
track it.
2010-08-12 21:22:09 +02:00
benoitc
8289f1d1d9 imean 0 2010-08-12 13:53:08 +02:00
benoitc
3979c3dd40 bump 2010-08-12 13:52:00 +02:00
benoitc
d07009a12f we cant to challenge worker timeout here. 2010-08-12 13:13:21 +02:00
benoitc
b281ec002b fix worker timeout. 2010-08-12 13:10:56 +02:00
benoitc
5df427b5cb oups 2010-08-12 12:22:54 +02:00
benoitc
7300502605 dramatically improve eventlet worker 2010-08-12 12:18:41 +02:00
benoitc
ed66b8b129 some fixes 2010-08-12 11:30:07 +02:00
benoitc
bf9d48be68 typo spotted by sjampoo on irc 2010-08-12 10:49:27 +02:00
benoitc
d2c10a95e4 dramatically improve the gevent worker. 2010-08-12 10:44:06 +02:00
benoitc
d7d6fa382b rever for now optimisations done when collecting headers. It doens't
give good results
2010-08-12 06:48:05 +02:00
benoitc
cf8a31264e use splitlines function 2010-08-11 22:36:17 +02:00
benoitc
2b0f37b6b1 again no need to iter headers. Get the values we need the first time 2010-08-11 19:18:25 +02:00
benoitc
08fe410fb3 no need to iter headers to find connection header since we could have it
the first time we get the list
2010-08-11 19:10:48 +02:00
benoitc
1ac15b4bb2 some fixes in eventlet worker 2010-08-11 18:27:07 +02:00
benoitc
cf6747dd86 fix gevent & eventlet workers 2010-08-11 17:00:03 +02:00
benoitc
568f9c3ee1 new gevent worker. Use event to read on socket. Also don't notify so
often the fs
2010-08-11 16:28:18 +02:00
benoitc
2ddbe800a5 clean a little the eventlet worker 2010-08-11 14:08:32 +02:00
benoitc
80cd1f40ed don't use core.read_event it's not needed here since we balance only
when a connection come
2010-08-11 13:55:50 +02:00
benoitc
0616e30e90 clean exit 2010-08-11 13:20:02 +02:00
benoitc
d77b6d6faa don't update, just insert new keys 2010-08-11 13:02:53 +02:00
benoitc
4e3d09c64d don't reread headers' list to add them to the environ. Instead read them
once time.
2010-08-11 12:02:49 +02:00
benoitc
7873ba7398 qopt 2010-08-11 11:48:15 +02:00
benoitc
e64c47475b fix issue #80 2010-08-11 11:31:35 +02:00
benoitc
42d97c3815 more optimisations. no need to uppercase or lowercase each time we want
to test an header since the parser already send the headers in uppercase
2010-08-11 11:12:10 +02:00