|author||Eric Wong <email@example.com>||2017-01-12 22:26:13 +0000|
|committer||Eric Wong <firstname.lastname@example.org>||2017-01-12 22:26:13 +0000|
Honestly, these disclaimers should've been there all along; and should apply to all servers handling multiple clients within a single process.
2 files changed, 14 insertions, 0 deletions
@@ -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.
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
@@ -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