Module: Yahns

Defined in:
lib/yahns.rb

Overview

yahns exposes no user-visible API outside of the config file Internals are subject to change.

Defined Under Namespace

Modules: Acceptor, ClientExpireGeneric, ClientExpireTCPI, Daemon, HttpContext, HttpResponse, Log, RackupHandler, ServerMP, SocketHelper, WbufCommon Classes: CapInput, ClientShutdown, ClientTimeout, Config, Fdmap, HttpClient, MaxBody, Queue, QueueEgg, QueueQuitter, Rack, Server, Sigevent, StreamFile, StreamInput, TCPServer, TeeInput, TmpIO, UNIXServer, Wbuf, WbufStr, Worker

Constant Summary collapse

START =

We populate this at startup so we can figure out how to reexecute and upgrade the currently running instance of yahns Unlike unicorn, this Hash is NOT a stable/public interface.

  • 0 - the path to the yahns executable

  • :argv - a deep copy of the ARGV array the executable originally saw

  • :cwd - the working directory of the application, this is where

you originally started yahns.

To change your yahns executable to a different path without downtime, you can set the following in your yahns config file, HUP and then continue with the traditional USR2 + QUIT upgrade steps:

Yahns::START[0] = "/home/bofh/2.0.0/bin/yahns"
{
  :argv => ARGV.map { |arg| arg.dup },
  0 => $0.dup,
}
VERSION =

:nodoc:

'0.0.3'