Date | Commit message (Collapse) |
|
In our race to have more concurrency options than real sites
using this server, we've added two new and fully supported
concurrency models: WriterThreadSpawn and WriterThreadPool
They're both designed to for serving large static files and work
best with IO.copy_stream (sendfile!) under Ruby 1.9. They may
also be used to dynamically generate long running, streaming
responses after headers are sent (use "proxy_buffering off" with
nginx).
Unlike most concurrency options in Rainbows!, these are designed
to run behind nginx (or haproxy if you don't support POST/PUT
requests) and are vulnerable to slow client denial of service
attacks.
I floated the idea of doing something along these lines back in
the early days of Unicorn, but deemed it too dangerous for some
applications. But nothing is too dangerous for Rainbows! So
here they are now for your experimentation.
|
|
* avoid needless links to /Rainbows.html
* keepalive_timeout has been 5 seconds by default for a while
* update "Gemcutter" references to "RubyGems.org"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We've long had the repo.or.cz mirrors and RubyForge may not
support git any longer.
|
|
|
|
|
|
We need a professional editor.
|
|
|
|
|
|
We have basic EventMachine and :async support.
|
|
Revactor was our first take on the "rainbows" branch of Unicorn
and probably less confusing to people that may have tracked that
branch. ThreadPool was used in the "gossamer" branch of Unicorn
before, but since this project is named Rainbows!, it's less
logical. I'll freely admit to having some personal bias here
and not being a fan of threads (and especially not pthreads!).
|
|
|
|
|
|
|
|
|
|
Mailman is now configured to munge Reply-To: to point back to
the mailing list. This might make things easier for folks
on low traffic mailing lists like ours.
|
|
|
|
Everything is logged in git anyways and it'll be easier to
hand off to somebody else.
|
|
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.
|
|
|
|
|
|
|
|
Also add notes about development things and the configuration
language which uses "Rainbows!". Calling ourselves "Rainbows!"
will help us be taken even more seriously than if the project
were just called "Rainbows"
|
|
|
|
No tests yet, but the old "gossamer" and "rainbows" branches
seem to be basically working.
|