Benoit Chesneau
3bc53767bd
fix manifest to reflect change in README name
2010-01-11 00:55:02 +01:00
Benoit Chesneau
4f5548e8bd
handle all signals like unicorn or nginx :
...
http://unicorn.bogomips.org/SIGNALS.html
TODO: implementing daemonized mode & config file
2010-01-11 00:38:25 +01:00
Benoit Chesneau
786c97442d
useless info
2010-01-10 20:27:37 +01:00
Benoit Chesneau
0d04e7bf7f
Merge remote branch 'davisp/master'
2010-01-10 19:54:22 +01:00
Benoit Chesneau
a98d9d9e3e
handle HUP. There are still dead processes after HUP that need to be
...
removed.
2010-01-10 19:53:34 +01:00
Paul J. Davis
951cb590ab
Fix the README to use better reST formatting.
...
This helps displaying on github by renaming .txt -> .rst as well as on
PyPi.
2010-01-10 11:50:37 -05:00
Benoit Chesneau
fb61e9b6ba
fix issue #3 . Waiting proper handling of HUP, quit gunicorn.
2010-01-10 15:55:21 +01:00
Benoit Chesneau
ac8abbe448
trap SIGCHLD and wake up master. fix issue 3. HUP isn't correctly
...
handled yet on master.
2010-01-10 15:13:42 +01:00
Curt Micol
7c30c1e9ae
Fix crashing issue with signals TTIN and TTOU. Also clear out zombie procs left by those signals.
2010-01-10 07:08:05 -05:00
Benoit Chesneau
7cf859a5c0
self.alive is'nt anymore a file descriptor
2010-01-10 11:37:18 +01:00
Benoit Chesneau
004f441d59
revert a change. fix worker kill
2010-01-10 10:15:05 +01:00
Benoit Chesneau
0b8d51d116
update readme & usage
2009-12-27 15:02:07 +01:00
Benoit Chesneau
a925c045be
easy launch of django application.
2009-12-27 14:38:02 +01:00
Benoit Chesneau
4bf5cb7bf5
typo
2009-12-27 14:18:58 +01:00
Benoit Chesneau
6730cb2b03
quick usage help
2009-12-27 14:15:52 +01:00
Benoit Chesneau
6cda6a868e
fix http parser, support Accept: 100-continue, fixes in worker. Update
...
license headers
2009-12-27 12:23:55 +01:00
Benoit Chesneau
cb79c8514d
lot of fixes. nonblocking socket need to be handled correctly though.
2009-12-22 02:48:30 +01:00
Benoit Chesneau
7fccf32c06
better response
2009-12-21 21:58:38 +01:00
Benoit Chesneau
f1cb61564e
remove useless files and ignore them
2009-12-21 19:48:49 +01:00
Benoit Chesneau
045b3127cc
add setup file, fixx license
2009-12-21 19:47:07 +01:00
Benoit Chesneau
003c09ce1f
add missing element
2009-12-17 22:33:14 +01:00
Benoit Chesneau
8d53f458db
we don't need to handle errors here since they are already handled in
...
worker
2009-12-14 01:56:36 +01:00
Benoit Chesneau
753f3bcf1a
no buffer read. Instead of using socket fileobject , read it directly
...
using our own stream class
2009-12-14 01:50:23 +01:00
Paul J. Davis
89bae0daf2
More work on signals.
...
I removed some of the signals that are more advanced than I want to
write. After we get things working solid we'll need to go back and
revisit the hot code swapping, halting workers, and log handling.
There's still a weird racey lockup when hitting it with ab. I don't have
httperf installed on this machine so I can't try a different tool to see
if its just ab acting weird. I'm pretty sure I've seen ab do this before
so I'm not too concerned.
2009-12-06 01:47:57 -05:00
Paul J. Davis
d5956ed5f3
Fixing the select/accept loop.
2009-12-04 05:09:15 -05:00
Benoit Chesneau
83ebc51520
fix first line parsing and make sure master is killed when ctrl-c is
...
pressed
2009-12-03 10:38:33 +01:00
Paul J. Davis
34db4a6669
Updates to fix errors under load.
2009-12-03 02:41:50 -05:00
Paul J. Davis
f4f3429d15
Fix test app
2009-12-03 02:16:19 -05:00
Paul J. Davis
5c5dbbd603
Readded Benoit's HTTP code.
...
ab works again. As does curl it appears.
2009-12-03 02:14:49 -05:00
Paul J. Davis
1cd1cc3a86
Readd HTTP request processing.
...
I based this on the BaseHTTPServer request handler class because I had
issues with the other request handler. This one is having issues as well
so I should go back to Benoit's but I'm starting to slide towards sleep.
2009-12-03 01:48:49 -05:00
Paul J. Davis
8be0226763
Some refactoring work.
...
Remoed alot of code before starting to add more. Trimmed as much as
possible to get to the point that I understood what was going on in each
place.
Split the server code into multiple objects to help my sanity. Arbiter
is now the main class in the master process that keeps track of child
processes and so on and such forth.
The Worker class is responsible for handling incoming requests from the
server socket passed to its constructor.
2009-12-03 01:13:38 -05:00
Benoit Chesneau
701c88c019
fix error
2009-12-03 03:16:59 +01:00
Benoit Chesneau
21d3f7ccd9
working concurrent version. But I think I will rewrite the worker loop
...
to react on events write/read for sockets so I could have better
concurrency. Also i'm not sure that the sleep() is enough.
http://www.friendpaste.com/1KVIOzMJGxm0yjv1qprkbf
2009-12-03 03:03:47 +01:00
Benoit Chesneau
9b3704e395
missing files
2009-12-02 20:53:14 +01:00
Benoit Chesneau
a4685eff77
some commit
2009-12-02 20:52:15 +01:00
Benoit Chesneau
93097b74e6
return response now
2009-12-02 19:43:56 +01:00
Benoit Chesneau
90e87c6f0d
fix bug, now cores/cpus are used correctly
2009-12-02 17:39:16 +01:00
Benoit Chesneau
b9468919e6
some fixes
2009-12-02 01:12:35 +01:00
Benoit Chesneau
d63890c77a
full wsgi environment.
2009-12-01 15:15:27 +01:00
Benoit Chesneau
84d739f1e4
add mssing environ variables
2009-12-01 14:29:40 +01:00
Benoit Chesneau
992b538705
implement request parser object. it isn't useful until i implement the
...
response and wsgi app passing
2009-12-01 14:11:56 +01:00
Benoit Chesneau
5fd09fa3df
tries is fixed in options
2009-11-30 23:09:28 +01:00
Benoit Chesneau
52b950945f
initial commit. working connection handler.
2009-11-30 19:24:21 +01:00