665 Commits

Author SHA1 Message Date
Thomas Steinacher
94df88ca7c Adapting gevent_websocket.py sample for websocket protocol 076. 2010-07-09 00:31:12 +08:00
Paul J. Davis
3ad7c1b395 Make WSGI app names are now evaled in the module namespace.
This allows people to pass info from the command line to a WSGI
application. See examples/alt_spec.py for code that uses this
method. Example invocation:

    $ gunicorn 'alt_spec:load("my arg here")'

Notice the single quotes to avoid shell escape semantics.

Closes #56
Closes #40
2010-07-08 00:12:15 -04:00
Paul J. Davis
80f4d17122 Added an example reloader config to the examples.
Thanks to thomasst on GitHub for the sample.

Closes #54
2010-07-07 21:27:43 -04:00
Paul J. Davis
e12e77765a Ignore StopIteration in HTTP parser.
We're specifically throwing the stop iteration to signal that a
connection was closed before data appeared (which is necessary for
the Keep-Alive processing). While a bit confusing for sync workers
as there's no Keep-Alive, it is an expected behavior.

Closes #65
2010-07-07 20:25:34 -04:00
benoitc
9631c2ab5a with_statement. spotted by @jbergstroem on irc 2010-07-05 17:06:17 +02:00
benoitc
c89ce5f5ad debug behavior has changed. 2010-07-01 07:20:36 +02:00
benoitc
3c200d015c update thanks 2010-07-01 07:19:22 +02:00
Randall Leeds
4e20f606f1 fix inconsistencies with urlparse lib 2010-07-01 13:15:15 +08:00
benoitc
5d9de13b59 close issue #66. Display a more explicit error message and raise. 2010-06-30 04:58:26 +02:00
benoitc
46e8002ffc Fix a bug spotted while testin parser in restkit. 2010-06-26 22:53:18 +02:00
benoitc
a461817309 fix websocket with protocol 076. Fix from tom on irc. Thanks! 2010-06-24 16:20:48 +02:00
benoitc
9bc19c2c86 wsgi.multiprocess depends on number of workers. 2010-06-22 19:24:43 +02:00
benoitc
2f06305ce4 fix wsgi env. 2010-06-22 14:05:11 +02:00
benoitc
06a4dc6881 fix one error in gunicorn_paster, global conf was ignored... While I'm
here change a little the behaviour of debug mode so we can still have
multiple workers in gunicorn :

- Don't preload app
- Set wsgi.multiprocess=False

rationnal is that when app isn't loaded it run in its own thread and
can't be evaluated by another process simultaneously. So setting
wsgi.multiprocess in this case sound good.
2010-06-22 13:10:49 +02:00
benoitc
6121ace7e7 QUERY_STRING can't be none. 2010-06-21 12:44:48 +02:00
benoitc
d5f2b5358a Refactored the configuration system.
Some preliminary work on refactoring the configuration system to
allow for some backwards compatibility with Python 2.4.
2010-06-17 19:45:51 -04:00
benoitc
a28da3bd70 quick README to generate documentation. fix issue #62. 2010-06-17 18:28:22 +02:00
benoitc
3314514600 sync doc 2010-06-17 17:22:26 +02:00
benoitc
25e8779122 add info for 0.10-dev 2010-06-17 17:21:07 +02:00
benoitc
b2a97e4622 wait a little, depending on the system, the socket took some time to be
released. Solve error I have when testing and going back to old address
too fast.
2010-06-17 17:12:55 +02:00
benoitc
6ca1a2398e there is no need to except, just reload in handle_hup method. 2010-06-17 17:09:22 +02:00
benoitc
8b10e33ecd just display listening info if addres has changed on HUP. 2010-06-17 16:48:55 +02:00
benoitc
92157fc503 old_listener is useless. 2010-06-17 16:43:38 +02:00
benoitc
7409535d69 no need to import socket 2010-06-17 16:33:27 +02:00
benoitc
8a1f1ffe4f empty lines 2010-06-17 16:31:28 +02:00
benoitc
5b363c4ab2 make sure we reset config on reload. 2010-06-17 16:23:49 +02:00
benoitc
a4fdb93757 just reload config and stay in the loop. 2010-06-17 15:55:45 +02:00
benoitc
e1647837d4 some errors spotted by pyflakes 2010-06-17 00:43:48 +02:00
benoitc
da91ec5e93 fix issue #63. thanks! 2010-06-17 00:10:05 +02:00
Paul Smith
48912484be Fix Arbiter bugs 2010-06-16 15:29:12 -04:00
benoitc
ebca25dddb make sure conf is available when spawning workers. Also since run
already manage_workers, no need to run this function in reload.
2010-06-16 11:38:35 +02:00
benoitc
d5b76ac651 socket.from_fd return a _socket.socket object instead of socket.socket
(at least on py26). Instead of testing type of instance, just test if
the source has a "recv" method. Fix bug in usr2 with new parser.
2010-06-16 11:30:36 +02:00
benoitc
05b6281e8d new HUP signal handling. Rather than reexecuting the app it mimic NGINX
behavior :

Configuration reload
Start the new worker processes with a new configuration
Gracefully shutdown the old worker processes

To reload gunicorn code use USR2 signal.
2010-06-16 11:10:06 +02:00
Paul Davis
645938f2b9 Fix gevent2 worker shutdown. 2010-06-10 16:38:45 -04:00
benoitc
764d81b742 don't display logs. fix from @davisp. 2010-06-10 22:32:15 +02:00
benoitc
36706c208f make sure WSGIHandler don't log 2010-06-10 22:23:31 +02:00
benoitc
77a8cb66e6 there's still a bug upstream about dns patching so don't patch it for
now.
2010-06-10 22:10:22 +02:00
benoitc
5ea58c1af2 pool! 2010-06-10 21:44:43 +02:00
benoitc
ff5adc46a4 setblocking(1) 2010-06-10 21:25:29 +02:00
benoitc
43d0bcbbd3 typo 2010-06-10 21:23:48 +02:00
benoitc
09c3310e21 Use gevent.wsgi 2010-06-10 21:22:06 +02:00
benoitc
c239a3cd88 "main.py doesn't do anything useful anymore" spotted by @davisp 2010-06-10 17:23:38 +02:00
benoitc
5b860b532a return all the data when reading is finished in EOFReader 2010-06-09 16:07:38 +02:00
benoitc
c52e30bcef fix content length. Test iff size == 0 before we start the loop. 2010-06-09 09:12:27 +02:00
Paul J. Davis
0beb39412d Remember to remove debug logging. 2010-06-07 20:47:44 -04:00
Paul J. Davis
37e909767a Refactored sizing in body readers. 2010-06-07 20:46:01 -04:00
benoitc
c55d367317 fix django app logging when daemonized 2010-06-07 21:05:46 +02:00
benoitc
e3d0056d18 GitHub typo 2010-06-06 16:00:41 +02:00
Paul J. Davis
ca920cf292 Remove traces of OCD. 2010-06-06 01:16:51 -04:00
Paul J. Davis
bb0f47f4c8 Updated logo SVG with xav's new version. 2010-06-06 01:12:13 -04:00