It should be already, but nominally we'd fix some of this stuff in the TODO before it went "final". I'd also like to unhose the web interface, or kill it off.
The TODO: - Both the "tail" and "fg" commands in supervisorctl have tests to verify their error handling but not actual operation. We should add some additional tests to verify their operation for completeness. - Add an option that allows numprocs for an existing process group to be adjusted at runtime. Requested by Roger Hoover. - Subprocess logging appears to stop when the subprocess moves to the "killing" state. Reported to the mailing list by Nicolas Grilly on 2008-04-13. - supervisor.tailProcessLog() may return too many bytes when the number of bytes requested exceeds the number logged. This is not certain and needs investigation. Reported by Chris McDonough. - Allow effective user to switch to a particular group instead of defaulting to the user's primary group: http://www.plope.com/software/collector/233. - Allow sockchown group only: http://www.plope.com/software/collector/214 - Implement event max_retry counter that means "after X retries of a rejected event, go into FATAL state". - FATAL state for supervisor. - When we try to clear the main log file and we get an IOError or an OSError (clearLog) - When we attempt to remove a process log file via os.remove (or equivalent all into handlers) and we get an IOError or an OSError (clearProcessLog) - When we try to kill a process and the os.kill command raises an exception (stopProcess) - If eventlisteners repeatedly reject (or crash on) an event, causing the event to be rebuffered above a reasonable threshold. - General speed improvement wrangling: - Play around with creating a select trigger file descriptor for each event pool. Maybe when an event is accepted by the pool, write to the file descriptor. This will cause select to time out and fall through. In an asyncore dispatcher represented by the file descriptor, attempt to dispatch the event. - Revisit test_startProcessGroup and test_startAllProcesses (see XXX comment about ordering). - Address outstanding collector issues. - We *might* be able to delay shutdown until all buffered events have been processed (or a timeout has been reached). - Web interface: - Unit tests for meld classes and ui server. - Meta-refresh on tail page. - Organize processes by group and allow groups to be started/stopped. - Support operations against both stderr and stdout logs. - Allow a supervisorctl-like command line through the web interface. - Display more information about Supervisor (identification, pid, etc.) - Expat error on Jens' system running slapd as root after reload. - Unit tests for log rotation. - Command-line arg tests. > Great news! Thanks, Chris and Mike. Just curious, when do you think > the 3.x series will leave alpha and become a full fledged release? The > reason I ask is that some people probably see the 'a' in the version > number and assume that it's not stable enough for their purposes. > > On Wed, Jan 20, 2010 at 9:51 AM, Chris McDonough <[email protected] > <mailto:[email protected]>> wrote: > > Supervisor 3.0a8 has been released to PyPI > (http://pypi.python.org/pypi/supervisor/3.0a8). The changelog follows: > > 3.0a8 (2010-01-20) > > - Don't cleanup file descriptors on first supervisord invocation: > this is a lame workaround for Snow Leopard systems that use > libdispatch and are receiving "Illegal instruction" messages at > supervisord startup time. Restarting supervisord via > "supervisorctl restart" may still cause a crash on these systems. > > - Got rid of Medusa hashbang headers in various files to ease RPM > packaging. > > - Allow umask to be 000 (patch contributed by Rowan Nairn). > > - Fixed a bug introduced in 3.0a7 where supervisorctl wouldn't ask > for a username/password combination properly from a > password-protected supervisord if it wasn't filled in within the > "[supervisorctl]" section username/password values. It now > properly asks for a username and password. > > - Fixed a bug introduced in 3.0a7 where setup.py would not detect the > Python version correctly. Patch by Daniele Paolella. > > - Fixed a bug introduced in 3.0a7 where parsing a string of key/value > pairs failed on Python 2.3 due to use of regular expression syntax > introduced in Python 2.4. > > - Removed the test suite for the ``memmon`` console script, which was > moved to the Superlance package in 3.0a7. > > - Added release dates to CHANGES.txt. > > - Reloading the config for an fcgi process group did not close the > fcgi > socket - now, the socket is closed whenever the group is stopped > as a unit > (including during config update). However, if you stop all the > processes > in a group individually, the socket will remain open to allow > for graceful > restarts of FCGI daemons. (Roger Hoover) > > - Rereading the config did not pick up changes to the socket > parameter in a > fcgi-program section. (Roger Hoover) > > - Made a more friendly exception message when a FCGI socket cannot be > created. (Roger Hoover) > > - Fixed a bug where the --serverurl option of supervisorctl would not > accept a URL with a "unix" scheme. (Jason Kirtland) > > - Running the tests now requires the "mock" package. This > dependency has > been added to "tests_require" in setup.py. (Roger Hoover) > > - Added support for setting the ownership and permissions for an > FCGI socket. > This is done using new "socket_owner" and "socket_mode" options > in an > [fcgi-program:x] section. See the manual for details. (Roger > Hoover) > > - Fixed a bug where the FCGI socket reference count was not getting > decremented on spawn error. (Roger Hoover) > > - Fixed a Python 2.6 deprecation warning on use of the "sha" module. > > - Updated ez_setup.py to one that knows about setuptools 0.6c11. > > - Running "supervisorctl shutdown" no longer dumps a Python backtrace > when it can't connect to supervisord on the expected socket. Thanks > to Benjamin Smith for reporting this. > > - Removed use of collections.deque in our bundled version of asynchat > because it broke compatibility with Python 2.3. > > - The sample configuration output by "echo_supervisord_conf" now > correctly > shows the default for "autorestart" as "unexpected". Thanks to > William Dode for noticing it showed the wrong value. > _______________________________________________ > Supervisor-users mailing list > [email protected] > <mailto:[email protected]> > http://lists.supervisord.org/mailman/listinfo/supervisor-users > > _______________________________________________ Supervisor-users mailing list [email protected] http://lists.supervisord.org/mailman/listinfo/supervisor-users
