# Rainbows! 0.7.0 - Fibers and NeverBlock

**URL:** <https://www.ruby-forum.com/t/rainbows-0-7-0-fibers-and-neverblock/179599>\
**Category:** Ruby\
**Created:** [November 30, 2009, 5:34am UTC](https://www.ruby-forum.com/t/rainbows-0-7-0-fibers-and-neverblock/179599 "2009-11-30T05:34:59Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ericw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/e/97f17d/32.png) [@ericw](https://www.ruby-forum.com/u/ericw)\
**Post date:** [November 30, 2009, 5:34am UTC](https://www.ruby-forum.com/t/rainbows-0-7-0-fibers-and-neverblock/179599/1 "2009-11-30T05:34:59Z")

</div>

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/](http://rainbows.rubyforge.org/)
- removed\_email\_address@domain.invalid
- git://git.bogomips.org/rainbows.git

Changes:

keepalive\_timeout (default: 2 seconds) is now supported to  
disconnect idle connections. Several new concurrency models  
added include: NeverBlock, FiberSpawn and FiberPool; all of  
which have only been lightly tested. RevThreadSpawn loses  
streaming input support to become simpler and faster for the  
general cases. AppPool middleware is now compatible with all  
Fiber-based models including Revactor and NeverBlock.

A new document gives a summary of all the options we give you:

[http://rainbows.rubyforge.org/Summary.html](http://rainbows.rubyforge.org/Summary.html)

If you’re using any of the Rev-based concurrency models, the  
latest iobuffer (0.1.3) gem will improve performance. Also,  
RevThreadSpawn should become usable under MRI 1.8 with the next  
release of Rev (0.3.2).
