Supervisor 3.0a1 Released

  • Posted by Chris McDonough on August 16th, 2007

    Supervisor 3.0a1 is the latest release of supervisor .

    v3.0a1 is a major feature release version. Most of the features were commissioned by Maintainable Software. As well as contributing development funding, members of Maintainable have contributed a good deal of code to the supervisor codebase.

    The major new features in 3.0a1 as compared to the prior (2.2b1) release:

    • An event notification system. Supervisor now sends event
      notifications during normal operations for things like subprocess
      start and stop, supervisor startup and shutdown, and “process
      communications”. Users can write “event listeners” (which run as
      subprocesses) and subscribe them to these events selectively.
      Event listeners can perform arbitrary actions when an event
      notification occurs, such as sending an email, posting to an HTTP
      server, etc.
    • Subprocesses can emit data on stdout or stderr between special
      tokens which cause supervisor to perform a “process
      communications” event notification.
    • Process groups. Two types of process groups can be defined via
      the config file: “homogeneous” and “heterogeneous”. “Homogeneous”
      process groups are process groups comprised of very similar
      processes (e.g. many instances of an application server).
      “Heterogeneous” process groups are process groups comprised of
      potentially differing process types (e.g. “processes related to
      customer X”). Eventually it will be possible to start and stop
      process groups from within supervisorctl and the web interface
      (this feature is currently yet-to-be-implemented).
    • The XML-RPC interface API can be extended in arbitrary ways by
      registering new top-level namespace factories.
    • Stdout and stderr of processes may now be logged independently.
    • Improved web interface styling.

    As with any alpha release, the API and config file format is subject to change, so I wouldn’t recommend deploying this release to production.

    Supervisor 3.0a1 can be installed via “easy_install supervisor” if you’re using an internet-connected machine with setuptools installed into your Python.

    I’ve created a maillist for users of supervisor and as always, bug reports can be sent to the collector.

Post a comment