Posted By: Eric Wong
Date: 2009-10-15 08:15
Summary: Rainbows! 0.2.0 w/ bare Rev support and AppPool middleware
Project: Rainbows!
Rainbows! is a 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 adds preliminary Rev support for network concurrency under Ruby 1.8 and Ruby 1.9. There are caveats to this model and reading the RDoc for Rainbows::Rev is recommended.
http://rainbows.rubyforge.org/Rainbows/Rev.html
Rainbows::AppPool Rack middleware is now available to limit application concurrency on a per-process basis independently of network concurrency. See the RDoc for this class for further details.
http://rainbows.rubyforge.org/Rainbows/AppPool.html
Per-client timeouts have been removed, see http://mid.gmane.org/20091013062602.GA13128@dcvr.yhbt.net for the reasoning.
Rack environment changes:
* "rack.multithread" is now only true for models with "Thread" in their name. Enabling thread-safe (but not reentrant) code may actually be harmful for Revactor.
* "rainbows.model" is now exposed so the application can easily figure out which network concurrency model is in use.
Bugfixes include better shutdown and error handling for all existing models, OpenBSD compatibility for the per-process heartbeat (same as found in unicorn v0.93.3). |
|