Supervisor v3.0.a2 Release Notes
Release Date: 2007-08-24 // over 16 years ago-
๐ Fixed the README.txt example for defining the supervisor RPC interface in the configuration file. Thanks to Drew Perttula.
๐ Fixed a bug where process communication events would not have the proper payload if the payload data was very short.
when supervisord attempted to kill a process with SIGKILL after the process was not killed within "stopwaitsecs" using a "normal" kill signal, supervisord would crash with an improper AssertionError. Thanks to Calvin Hendryx-Parker.
๐ง On Linux, Supervisor would consume too much CPU in an effective "busywait" between the time a subprocess exited and the time at which supervisor was notified of its exit status. Thanks to Drew Perttula.
RPC interface behavior change: if the RPC method "sendProcessStdin" is called against a process that has closed its stdin file descriptor (e.g. it has done the equivalent of "sys.stdin.close(); os.close(0)"), we return a NO_FILE fault instead of accepting the data.
๐ Changed the semantics of the process configuration
autorestart
parameter with respect to processes which move between the RUNNING and EXITED state.autorestart
was previously a boolean. Now it's a trinary, accepting one offalse
,unexpected
, ortrue
. If it'sfalse
, a process will never be automatically restarted from the EXITED state. If it'sunexpected
, a process that enters the EXITED state will be automatically restarted if it exited with an exit code that was not named in the process config'sexitcodes
list. If it'strue
, a process that enters the EXITED state will be automatically restarted unconditionally. The default is nowunexpected
(it was previouslytrue
). The readdition of this feature is a reversion of the behavior change note in the changelog notes for 3.0a1 that asserted we never cared about the process' exit status when determining whether to restart it or not.setup.py develop (and presumably setup.py install) would fail under Python 2.3.3, because setuptools attempted to import
splituser
from urllib2, and it didn't exist.It's now possible to use
setup.py install
andsetup.py develop
on systems which do not have a C compiler if you set the environment variable "NO_MELD3_EXTENSION_MODULES=1" in the shell in which you invoke these commands (versions of meld3 > 0.6.1 respect this envvar and do not try to compile optional C extensions when it's set).โ The test suite would fail on Python versions <= 2.3.3 because the "assertTrue" and "assertFalse" methods of unittest.TestCase didn't exist in those versions.
The
supervisorctl
andsupervisord
wrapper scripts were disused in favor of using setuptools'console_scripts
entry point settings.๐ Documentation files and the sample configuration file are put into the generated supervisor egg's
doc
directory.๐ Using the web interface would cause fairly dramatic memory leakage. We now require a version of meld3 that does not appear to leak memory from its C extensions (0.6.3).