Release Name: 0.8.0
Notes:
Rainbows! is an HTTP server for sleepy Rack applications. It is based on
Unicorn, but designed to handle applications that expect long
request/response times and/or slow clients. For Rack applications not
heavily bound by slow external network dependencies, consider Unicorn
instead as it simpler and easier to debug.
* http://rainbows.rubyforge.org/
* rainbows-talk@rubyforge.org
* git://git.bogomips.org/rainbows.git
Changes:
This release fixes a memory leak in our existing Revactor
concurrency model. A new RevThreadPool concurrency model has
been added as well as small cleaups to exit handling in workers.
Changes:
Documentation/comparison.haml | 27 ++++++++++--
GIT-VERSION-GEN | 2 +-
TODO | 5 +-
lib/rainbows.rb | 5 ++-
lib/rainbows/base.rb | 10 ++--
lib/rainbows/const.rb | 2 +-
lib/rainbows/rev/master.rb | 29 +++++++++++++
lib/rainbows/rev/thread.rb | 53 ++++++++++++++++++++++++
lib/rainbows/rev_thread_pool.rb | 75 ++++++++++++++++++++++++++++++++++
lib/rainbows/rev_thread_spawn.rb | 83 ++++++--------------------------------
lib/rainbows/revactor.rb | 68 +++++++++++++++++--------------
t/GNUmakefile | 1 +
t/simple-http_RevThreadPool.ru | 9 ++++
13 files changed, 254 insertions(+), 115 deletions(-)
commit 64b4d079fd8726babb563aaa66f1701bd2d6565d
Author: Eric Wong
Date: Wed Dec 2 00:51:06 2009 -0800
Rainbows! 0.8.0
This release fixes a memory leak in our existing Revactor
concurrency model. A new RevThreadPool concurrency model has
been added as well as small cleaups to exit handling in workers.
commit 42a6b9e80600a074fe75e418bab89bd73dfb4cea
Author: Eric Wong
Date: Wed Dec 2 00:50:21 2009 -0800
Update TODO
commit 154e7af0225a0375274991ee7bd1fc8ad22c1c37
Author: Eric Wong
Date: Tue Dec 1 23:39:32 2009 -0800
add RevThreadPool concurrency model
This should be like RevThreadSpawn except with more predictable
performance (but higher memory usage under low load).
commit c50b69ddf0f1305bb39ed812d084f59db6dd9897
Author: Eric Wong
Date: Tue Dec 1 22:39:38 2009 -0800
more consistent code for worker timeout/exits
We now correctly exit!(2) if our master can't kill us.
commit 1269cbb93d26ff938f443e8931e908481374bdc3
Author: Eric Wong
Date: Tue Dec 1 01:08:23 2009 -0800
revactor: avoid unbounded memory growth :x
This model has basically been rewritten to avoid unbounded
memory growth (slow without keepalive) due to listeners
not properly handling :*_closed messages.
Performance is much more stable as a result, too.
commit c8972f91b2b2e1c49c7c8fdc070430435c38de4e
Author: Eric Wong
Date: Mon Nov 30 00:17:32 2009 -0800
ThreadPool: no need to exit!
Just die naturally here if threads don't die on
their own.
|