DEPLOY FAQ HACKING LICENSE NEWS README SIGNALS Sandbox Static_Files Summary TUNING Test_Suite rainbows_1 vs_Unicorn
Rainbows ActorSpawn AppPool Base Configurator Coolio CoolioThreadPool CoolioThreadSpawn DevFdResponse Epoll EventMachine FiberPool FiberSpawn MaxBody NeverBlock Rev RevFiberSpawn RevThreadPool RevThreadSpawn Revactor Sendfile ServerToken StreamResponseEpoll ThreadPool ThreadSpawn ThreadTimeout WriterThreadPool WriterThreadSpawn XEpoll XEpollThreadPool XEpollThreadSpawn

module Rainbows::WriterThreadSpawn

This concurrency model implements a single-threaded app dispatch and spawns a new thread for writing responses. This concurrency model should be ideal for apps that serve large responses or stream responses slowly.

Unlike most Rainbows! concurrency models, WriterThreadSpawn is designed to run behind nginx just like Unicorn is. This concurrency model may be useful for existing Unicorn users looking for more output concurrency than socket buffers can provide while still maintaining a single-threaded application dispatch (though if the response body is generated on-the-fly, it must be thread safe).

For serving large or streaming responses, setting "proxy_buffering off" in nginx is recommended. If your application does not handle uploads, then using any HTTP-aware proxy like haproxy is fine. Using a non-HTTP-aware proxy will leave you vulnerable to slow client denial-of-service attacks.

Included modules: Rainbows::Base
Pages Classes Methods


mail archives: https://yhbt.net/rainbows-public/
	http://ou63pmih66umazou.onion/rainbows-public/ 
	nntp://news.public-inbox.org/inbox.comp.lang.ruby.rainbows 
	nntp://ou63pmih66umazou.onion/inbox.comp.lang.ruby.rainbows 
	nntp://news.gmane.io/gmane.comp.lang.ruby.rainbows.general 
public: rainbows-public@yhbt.net
source code: git clone https://yhbt.net/rainbows.git
	torsocks git clone http://ou63pmih66umazou.onion/rainbows.git