Files | Admin

Notes:

Release Name: 0.1.1

Notes:
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:

Fixed Ruby 1.8 support (and all 1.9 systems without Revactor).
Process-wide timeout handling for the ThreadSpawn concurrency
model should now work properly.  Small cleanups everywhere.

Eric Wong (16):
      Rakefile: add publish_news target
      Fix NEWS generation on single-paragraph tag messages
      README: move RDoc links down to fix gem description
      README: add install instructions
      summary: s/slow apps/sleepy apps/g
      Avoid naming names in LICENSE/README files
      rainbows/base: cleanup constant include
      tests: quiet down bin installation
      Add top-level "test" target for make
      local.mk.sample: sync to my current version
      tests: allow "make V=2" to set TEST_OPTS += -x
      cleanup temporary file usage in tests
      local.mk.sample: fix revactor dependency
      Thread* models: cleanup timeout management
      thread_spawn: fix timeout leading to worker death
      less error-prone timeouts for Thread models



Changes: GIT-VERSION-GEN | 3 +-- GNUmakefile | 6 +++++- LICENSE | 4 ++-- README | 34 +++++++++++++++++++++++----------- Rakefile | 20 ++++++++++++++++++-- lib/rainbows/base.rb | 7 +++---- lib/rainbows/const.rb | 2 +- lib/rainbows/thread_pool.rb | 13 +++++-------- lib/rainbows/thread_spawn.rb | 8 +++----- local.mk.sample | 17 ++++++++++++----- rainbows.gemspec | 4 ++-- t/GNUmakefile | 5 ++++- t/t0000-basic.sh | 13 +++---------- t/t0000.ru | 3 +++ t/t1000-thread-pool-basic.sh | 22 ++++++---------------- t/t1000.ru | 6 ++++++ t/t2000-thread-spawn-basic.sh | 22 ++++++---------------- t/t2000.ru | 6 ++++++ t/t3000-revactor-basic.sh | 22 ++++++---------------- t/t3000.ru | 6 ++++++ t/t3100-revactor-tee-input.sh | 2 +- t/test-lib.sh | 2 +- 22 files changed, 123 insertions(+), 104 deletions(-) commit ad5ed778e520007af9ab64a9e790c4ffea81e3c5 Author: Eric Wong Date: Mon Oct 5 20:48:16 2009 -0700 Rainbows! 0.1.1 Fixed Ruby 1.8 support (and all 1.9 systems without Revactor). Process-wide timeout handling for the ThreadSpawn concurrency model should now work properly. Small cleanups everywhere. Eric Wong (16): Rakefile: add publish_news target Fix NEWS generation on single-paragraph tag messages README: move RDoc links down to fix gem description README: add install instructions summary: s/slow apps/sleepy apps/g Avoid naming names in LICENSE/README files rainbows/base: cleanup constant include tests: quiet down bin installation Add top-level "test" target for make local.mk.sample: sync to my current version tests: allow "make V=2" to set TEST_OPTS += -x cleanup temporary file usage in tests local.mk.sample: fix revactor dependency Thread* models: cleanup timeout management thread_spawn: fix timeout leading to worker death less error-prone timeouts for Thread models commit 09e93cd05506023d38c471bcbc8189447f800524 Author: Eric Wong Date: Mon Oct 5 20:43:36 2009 -0700 less error-prone timeouts for Thread models Avoid calling chmod on "false" leading to NoMethodError and rely entirely on LISTENERS.first being valid. commit d8d665495029bc8a102bdaf550ef618da64f36fe Author: Eric Wong Date: Mon Oct 5 20:34:54 2009 -0700 thread_spawn: fix timeout leading to worker death commit 09535c1bd412bd66f93723c2c1aa7aacc2e091c3 Author: Eric Wong Date: Mon Oct 5 20:16:18 2009 -0700 Thread* models: cleanup timeout management Ensure we reset the per-thread time Thread.current[:t] with each connection so we don't timeout long-lived connections. commit e4057cf951a32c3a29b66dae1c1abea7989889e8 Author: Eric Wong Date: Mon Oct 5 18:27:31 2009 -0700 local.mk.sample: fix revactor dependency This makes the Ruby 1.9 tests take much longer now, ~14s because the SHA1 test is fairly intensive. commit 112fe9265b4f5b3504504a1a36cafad9c6ceffeb Author: Eric Wong Date: Mon Oct 5 18:13:12 2009 -0700 cleanup temporary file usage in tests mktemp(1) requires files to end with "XXXXXXXX", not just have that template anywhere. Also, add pid files to the TEST_RM_LIST since test failures can leave a pid file dangling. Lastly, since the config.ru files are 100% static, just check them as standalone files in instead of allocating a tempfile on them for easier maintenance. commit d7f1ced710864fd743c605cb85aa35208bf518b3 Author: Eric Wong Date: Mon Oct 5 18:12:01 2009 -0700 tests: allow "make V=2" to set TEST_OPTS += -x Normally we can run "make V=1" for medium verbosity commit bd3d1c6e8c39bae28158218e816486807fd1eec0 Author: Eric Wong Date: Mon Oct 5 17:58:42 2009 -0700 local.mk.sample: sync to my current version This allows the "full-test" target to run 1.9 and 1.8 tests together and sets up gem paths so I don't have to load rubygems. Currently I can run "make -j full-test" in 5.3 seconds on my box vs ~20 seconds without the "-j". Hopefully this time continues to stay low as more tests are added... commit df8543da4335a0999c1c1893bffb23c7fb13f0a8 Author: Eric Wong Date: Mon Oct 5 17:54:26 2009 -0700 Add top-level "test" target for make commit b3b03a0de92e747e0efe0850fa9a74fe172b93e8 Author: Eric Wong Date: Mon Oct 5 17:53:39 2009 -0700 tests: quiet down bin installation commit 9d9e622bb1554921d750f8298366ee592adcbbb5 Author: Eric Wong Date: Mon Oct 5 17:50:04 2009 -0700 rainbows/base: cleanup constant include This was breaking badly under 1.8 since Revactor couldn't be included (the constant is listed once it is declared as an autoload). commit 11198b5154758322054b8e5ca572748fcad4d118 Author: Eric Wong Date: Mon Oct 5 10:34:52 2009 -0700 Avoid naming names in LICENSE/README files Everything is logged in git anyways and it'll be easier to hand off to somebody else. commit 2dfcea55f5833a7165921034871e8b8c6806885e Author: Eric Wong Date: Mon Oct 5 04:20:19 2009 -0700 summary: s/slow apps/sleepy apps/g I think "sleepy" is a better term than "slow" here. "slow" can mean apps that are CPU/memory bandwidth-bound, and Rainbows! sucks at those. commit aa258fd105987d902114eb77f6f129a45b9291ee Author: Eric Wong Date: Mon Oct 5 04:07:45 2009 -0700 README: add install instructions commit 58aa17938265293f4dedbfd5e2c5ffd917bf7a2c Author: Eric Wong Date: Mon Oct 5 04:06:11 2009 -0700 README: move RDoc links down to fix gem description commit f23cdf57fecff8711d82bee311909a123c1d02a0 Author: Eric Wong Date: Mon Oct 5 03:53:36 2009 -0700 Fix NEWS generation on single-paragraph tag messages commit 2643f9c34a4fc63ab9533d851a564be93dcc8bdb from Unicorn commit c09f94c6ffdb6a4126bf4526ac3a1163d03c4930 Author: Eric Wong Date: Mon Oct 5 03:53:12 2009 -0700 Rakefile: add publish_news target