Module: Yahns
- Defined in:
- lib/yahns.rb
Overview
yahns exposes no user-visible API outside of the config file. See yhbt.net/yahns/yahns_config.txt for the config documentation and yhbt.net/yahns/ for the homepage. Internals are subject to change.
Defined Under Namespace
Modules: Acceptor, ClientExpireGeneric, ClientExpireTCPI, Daemon, HttpContext, HttpResponse, Log, OpenSSLClient, RackupHandler, ServerMP, SocketHelper, WbufCommon Classes: CapInput, ChunkBody, Config, Fdmap, HttpClient, MaxBody, OpenSSLServer, ProxyPass, Queue, QueueEgg, QueueQuitter, Rack, ReqRes, Server, Sigevent, StreamFile, StreamInput, TCPServer, TeeInput, TmpIO, UNIXServer, Wbuf, WbufLite, WbufStr, Worker
Constant Summary collapse
- START =
:stopdoc: 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(&:dup), 0 => $0.dup, }
- ClientShutdown =
Raised inside TeeInput when a client closes the socket inside the application dispatch. This is always raised with an empty backtrace since there is nothing in the application stack that is responsible for client shutdowns/disconnects.
Class.new(EOFError)
- ClientTimeout =
:nodoc:
Class.new(RuntimeError)
- VERSION =
:nodoc:
'1.16.0'.freeze