Files | Admin

Notes:

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.