unicorn Ruby/Rack server user+dev discussion/patches/pulls/bugs/help
 help / color / mirror / code / Atom feed
From: Eric Wong <e@80x24.org>
To: Devin Ben-Hur <dbenhur@whitepages.com>
Cc: "Michael Fischer" <mfischer@zendesk.com>,
	"Bráulio Bhavamitra" <braulio@eita.org.br>,
	unicorn-public <unicorn-public@bogomips.org>
Subject: Re: Reserved workers not as webservers
Date: Thu, 9 Oct 2014 17:34:20 +0000	[thread overview]
Message-ID: <20141009173420.GA2787@dcvr.yhbt.net> (raw)
In-Reply-To: <5436C281.30309@whitepages.com>

Devin Ben-Hur <dbenhur@whitepages.com> wrote:
> Excellent points Michael.  But to Bráulio's original request, it
> would be lovely to factor out the clean and robust process
> management parts of unicorn (daemonization, pidfile-mgmt, pre-load,
> fork, reap, signaling) separate from the HTTP/Rack server.

I think some projects exist nowadays (and were inspired by unicorn).
I also cannot speak to the quality of them, though.

My take is that stuff ends up being fairly specific to the type of
app used and putting an abstraction around them makes it harder to learn
and use than the lower-level primitives Ruby provides.

The ordering of some things (e.g. writing pid file, preload, binding
sockets, hooks, timeout checks) seems subject to the needs of the
specific server; and it's easier to figure out the ordering of those
things when the lower-level parts are right in front of you instead of
abstracted away in a library.

Having Ruby as an abstraction around C syscalls is great since I don't
have to worry about things like buffer overruns or error-checking every
single syscall.  More abstraction than that ends up hiding too many
important details, making programming and maintenance harder.

  parent reply	other threads:[~2014-10-09 17:34 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-09 12:24 Reserved workers not as webservers Bráulio Bhavamitra
2014-10-09 16:45 ` Michael Fischer
2014-10-09 17:14   ` Devin Ben-Hur
2014-10-09 17:17     ` Michael Fischer
2014-10-09 17:34     ` Eric Wong [this message]
2014-10-09 18:06       ` Bráulio Bhavamitra
2014-10-09 18:15         ` Eric Wong
2014-10-11  3:35           ` Bráulio Bhavamitra
2014-10-13  0:10             ` Bráulio Bhavamitra
2014-10-09 18:29     ` Bráulio Bhavamitra
2014-10-09 17:43   ` Bráulio Bhavamitra
2014-10-09 17:59     ` Michael Fischer
2014-10-09 18:01       ` Bráulio Bhavamitra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://yhbt.net/unicorn/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141009173420.GA2787@dcvr.yhbt.net \
    --to=e@80x24.org \
    --cc=braulio@eita.org.br \
    --cc=dbenhur@whitepages.com \
    --cc=mfischer@zendesk.com \
    --cc=unicorn-public@bogomips.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhbt.net/unicorn.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).