diff options
-rw-r--r-- | FAQ | 2 | ||||
-rw-r--r-- | KNOWN_ISSUES | 4 | ||||
-rw-r--r-- | Sandbox | 5 | ||||
-rw-r--r-- | examples/logrotate.conf | 17 | ||||
-rw-r--r-- | examples/unicorn@.service | 5 | ||||
-rw-r--r-- | lib/unicorn/oob_gc.rb | 5 |
6 files changed, 30 insertions, 8 deletions
@@ -7,7 +7,7 @@ drained entirely by the application. This may happen when request bodies are gzipped, as unicorn reads request body data lazily to avoid overhead from bad requests. -Ref: http://mid.gmane.org/FC91211E-FD32-432C-92FC-0318714C2170@zendesk.com +Ref: https://bogomips.org/unicorn-public/FC91211E-FD32-432C-92FC-0318714C2170@zendesk.com/ === Why aren't my Rails log files rotated when I use SIGUSR1? diff --git a/KNOWN_ISSUES b/KNOWN_ISSUES index 6b80517..ebd4822 100644 --- a/KNOWN_ISSUES +++ b/KNOWN_ISSUES @@ -9,7 +9,7 @@ acceptable solution. Those issues are documented here. handlers. * Issues with FreeBSD jails can be worked around as documented by Tatsuya Ono: - http://mid.gmane.org/CAHBuKRj09FdxAgzsefJWotexw-7JYZGJMtgUp_dhjPz9VbKD6Q@mail.gmail.com + https://bogomips.org/unicorn-public/CAHBuKRj09FdxAgzsefJWotexw-7JYZGJMtgUp_dhjPz9VbKD6Q@mail.gmail.com/ * PRNGs (pseudo-random number generators) loaded before forking (e.g. "preload_app true") may need to have their internal state @@ -60,7 +60,7 @@ acceptable solution. Those issues are documented here. application to use Rails 2.3.2 and you have no other choice, then you may edit your unicorn gemspec and remove the Rack dependency. - ref: http://mid.gmane.org/20091014221552.GA30624@dcvr.yhbt.net + ref: https://bogomips.org/unicorn-public/20091014221552.GA30624@dcvr.yhbt.net/ Note: the workaround described in the article above only made the issue more subtle and we didn't notice them immediately. @@ -34,7 +34,7 @@ is the primary issue with sandboxing tools such as Bundler and Isolate. If you're bundling unicorn, use "bundle exec unicorn" (or "bundle exec unicorn_rails") to start unicorn with the correct environment variables -ref: http://mid.gmane.org/9ECF07C4-5216-47BE-961D-AFC0F0C82060@internetfamo.us +ref: https://bogomips.org/unicorn-public/9ECF07C4-5216-47BE-961D-AFC0F0C82060@internetfamo.us/ Otherwise (if you choose to not sandbox your unicorn installation), we expect the tips for Isolate (below) apply, too. @@ -43,7 +43,8 @@ expect the tips for Isolate (below) apply, too. This is no longer be an issue as of bundler 0.9.17 -ref: http://mid.gmane.org/8FC34B23-5994-41CC-B5AF-7198EF06909E@tramchase.com +ref: +https://bogomips.org/unicorn-public/8FC34B23-5994-41CC-B5AF-7198EF06909E@tramchase.com/ === BUNDLE_GEMFILE for Capistrano users diff --git a/examples/logrotate.conf b/examples/logrotate.conf index 03fefc6..437f6c6 100644 --- a/examples/logrotate.conf +++ b/examples/logrotate.conf @@ -3,6 +3,9 @@ # # See the logrotate(8) manpage for more information: # http://linux.die.net/man/8/logrotate +# +# public logrotate-related discussion in our archives: +# https://bogomips.org/unicorn-public/?q=logrotate # Modify the following glob to match the logfiles your app writes to: /var/log/unicorn_app/*.log { @@ -22,7 +25,19 @@ # config. Unicorn supports the USR1 signal and we send it # as our "lastaction" action: lastaction - # assuming your pid file is in /var/run/unicorn_app/pid + # For systemd users, assuming you use two services + # (as recommended) to allow zero-downtime upgrades. + # Only one service needs to be started, but signaling + # both here is harmless as long as they're both enabled + systemctl kill -s SIGUSR1 unicorn@1.service + systemctl kill -s SIGUSR1 unicorn@2.service + + # Examples for other process management systems appreciated + # Mail us at unicorn-public@bogomips.org + # (see above for archives) + + # If you use a pid file and assuming your pid file + # is in /var/run/unicorn_app/pid pid=/var/run/unicorn_app/pid test -s $pid && kill -USR1 "$(cat $pid)" endscript diff --git a/examples/unicorn@.service b/examples/unicorn@.service index 56aaec8..d95eb83 100644 --- a/examples/unicorn@.service +++ b/examples/unicorn@.service @@ -24,5 +24,10 @@ ExecReload = /bin/kill -HUP $MAINPID # adding a few seconds for scheduling differences: TimeoutStopSec = 62 +# Only kill the master process, it may be harmful to signal +# workers via default "control-group" setting since some +# Ruby extensions and applications misbehave on interrupts +KillMode = process + [Install] WantedBy = multi-user.target diff --git a/lib/unicorn/oob_gc.rb b/lib/unicorn/oob_gc.rb index a07978b..5572e59 100644 --- a/lib/unicorn/oob_gc.rb +++ b/lib/unicorn/oob_gc.rb @@ -43,8 +43,9 @@ # use Unicorn::OobGC, 2, %r{\A/(?:expensive/foo|more_expensive/foo)} # # Feedback from users of early implementations of this module: -# * http://comments.gmane.org/gmane.comp.lang.ruby.unicorn.general/486 -# * http://article.gmane.org/gmane.comp.lang.ruby.unicorn.general/596 +# * https://bogomips.org/unicorn-public/0BFC98E9-072B-47EE-9A70-05478C20141B@lukemelia.com/ +# * https://bogomips.org/unicorn-public/AANLkTilUbgdyDv9W1bi-s_W6kq9sOhWfmuYkKLoKGOLj@mail.gmail.com/ + module Unicorn::OobGC # this pretends to be Rack middleware because it used to be |