Talk given at YAPC 2014 on process supervision
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README
slides.odp
transcript.txt

README

Simplifying Perl Daemons
using Supervisors


This talk discusses the de-facto standard for "daemonizing" a process
in Unix, and why the de-facto standard is WRONG.

It shows how much work is involved in doing this, and then shows
how you can avoid all that work by using a supervisor.

It then lists some good supervisor tools, and suggestes reading
about them on their individual sites.


Handy Links:

Process Supervision Tools
  Daemontools
    The pioneer of the design:
    http://cr.yp.to/daemontools.html
  
  Runit
    A popular re-implementation of the same idea:
    http://smarden.org/runit
  
    Also available as a busybox applet:
    http://busybox.org
  
  Perp
    A variation that uses a single process to supervise many jobs:
    http://b0llix.net/perp/
  
  s6
    Extreme minimalist supervisor with high level of attention to detail.
    http://skarnet.org/software/s6/
    Also see discussion and comparison of tools at
    http://skarnet.org/software/s6/why.html
  
  Daemonproxy
    Scriptable supervision tool that lets you easily build your own supervisor.
    http://www.nrdvana.net/daemonproxy/

Useful Loggers
  
  Tinylog
    Basic log-to-file with rotation built-in.
    http://b0llix.net/perp/site.cgi?page=tinylog.8
  
  Sissylog
    Log to syslog, using prefixes to determine log level
    http://b0llix.net/perp/site.cgi?page=sissylog.8
  
  s6-log
    Filter log messages into files by pattern, with many useful features.
    http://skarnet.org/software/s6/s6-log.html

Also, for anyone using Log::Any (which should be everyone)
  
  https://metacpan.org/pod/Log::Any::Adapter::Daemontools