einhyrningsins
- graceful restarts for socket-based daemons
einhyrningsins
[OPTIONS] -- PROGRAM [PROGRAM_ARGS]
This is a socket multiplexer featuring graceful restarts. It runs multiple copies of the child program that are passed a shared socket (or more than one) to bind to and accept connections from. Graceful rolling restarts enable updates of the child program with zero downtime and no dropped connections.
This program requires special support in the child program to achive the graceful restarts and bind to inherited file descriptors indicated by environment variables.
einhyrningsins(1) is a partially-comparible re-implementation of einhorn(1) (a Ruby program) in Rust. Einhorn itself derived from Unicorn.
-n
, --number
=COUNT
How many child processes to spawn.-b
, --bind
ADDR
Socket(s) to bind to. This argument can be repeated.-4
, --ipv4-only
:
Only accept IPv4 connections-6
, --ipv6-only
Only accept IPv6 connections-h
, --help
Print a help menu--version
Print program version-v
, --verbose
More verbose logging and outputThis is a fun fun hobby project. Still in progress, and notably untested.
Copyright 2016 Bryan Newbold License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
einhorn (1)
, einhyrningsinsctl(1)