Date | Commit message (Collapse) |
|
Not using the Unicorn version number with this
since it's not remotely close to Unicorn in stability.
|
|
|
|
Only inject this method into Unicorn::Configurator to avoid
polluting the namespace.
|
|
Various concurrency models work and scale differently, pick
counts that make a reasonable amount of sense...
|
|
This is somewhat like the original model found in Mongrel,
except we refuse to accept() connections unless we have slots
available. Even though we support multiple listen sockets, we
only accept() synchronously to simplify processing and to avoid
having to synchronize ThreadGroup management.
|
|
It's usually a bad sign if we have unhandled exceptions in
the listener loops, so we'll exit just in case.
|
|
While we're at it, make it properly 100% message-driven so
there's no more busy-waiting and polling for dead actors, No we
just wait for client actors to die off and resume listener
actors if they stopped accepting.
|
|
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"
|
|
Revactor may be gaining support for UNIX domain socket listeners
soon, so factor out revactorize_listeners into its own method
that can conditionally handle UNIX domain sockets if our
Revactor version supports it.
Patch for Revactor submitted here:
http://rubyforge.org/pipermail/revactor-talk/2009-October/000035.html
|
|
:Base is default (along with the implied worker_connections=1).
This disallows nil for worker_connections, and makes.
|
|
So are Thread#terminate! and Thread#exit!, so we use
Thread#kill instead.
|
|
They're similar enough (especially as far as the constants go)
and allows a :Base to be used which basically acts like plain
Unicorn but with HTTP keepalive + pipelining support
|
|
Patch submitted upstream:
http://rubyforge.org/pipermail/revactor-talk/2009-October/000034.html
|
|
This allows the server to be configured by doing something like
this inside an existing Unicorn configuration file:
Rainbows! do
use :Revactor
worker_connections 50
end
This should make it obvious we're using Rainbows-only features.
|
|
I didn't remember extend when this was originally implemented.
|
|
This should make it easier to maintain/read configs that
are Rainbows-specific
|
|
|
|
|
|
No tests yet, but the old "gossamer" and "rainbows" branches
seem to be basically working.
|