From d0835f032cf6cab961b4fe1584ea066348e15390 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 12 Jan 2017 22:26:13 +0000 Subject: doc: additional disclaimers Honestly, these disclaimers should've been there all along; and should apply to all servers handling multiple clients within a single process. --- README | 9 +++++++++ lib/rainbows/configurator.rb | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/README b/README index ac10375..027f58a 100644 --- a/README +++ b/README @@ -159,6 +159,15 @@ don't email the git mailing list or maintainer with \Rainbows! patches. There is NO WARRANTY whatsoever if anything goes wrong, but let us know and we'll try our best to fix it. +Rainbows! is extremely sensitive to fatal bugs in the apps it hosts. +Each Rainbows! worker process may be handling thousands of clients; +unexpectedly killing the process will abort _all_ of those +connections. Lives may be lost! + +Rainbows! hackers are not responsible for your application/library bugs. +Use an application server which is tolerant of buggy applications +if you cannot be bothered to fix all your fatal bugs. + == Contact All feedback (bug reports, user/development discussion, patches, pull diff --git a/lib/rainbows/configurator.rb b/lib/rainbows/configurator.rb index 10cb60d..d82002e 100644 --- a/lib/rainbows/configurator.rb +++ b/lib/rainbows/configurator.rb @@ -6,6 +6,11 @@ # block, otherwise Unicorn::Configurator directives may be used anywhere # in the file. # +# Warning: The "timeout" directive in unicorn is far more dangerous +# in Rainbows!, since ALL requests running on a process will be lost +# on worker death, not just one. Instead, handle application-level +# timeouts yourself: https://bogomips.org/unicorn/Application_Timeouts.html +# # Rainbows! do # use :ThreadSpawn # concurrency model to use # worker_connections 400 -- cgit v1.2.3-24-ge0c7