2.1 (2007-03-17)
- When supervisord was invoked more than once, and its configurationwas set up to use a UNIX domain socket as the HTTP server, thesocket file would be erased in error. The symptom of this wasthat a subsequent invocation of supervisorctl could not find thesocket file, so the process could not be controlled (it and all ofits subprocesses would need to be killed by hand).
- Close subprocess file descriptors properly when a subprocess exitsor otherwise dies. This should result in fewer “too many openfiles to spawn foo” messages when supervisor is left up for longperiods of time.
- When a process was not killable with a “normal” signal at shutdowntime, too many “INFO: waiting for x to die” messages would be sentto the log until we ended up killing the process with a SIGKILL.Now a maximum of one every three seconds is sent up until SIGKILLtime. Thanks to Ian Bicking.
- Add an assertion: we never want to try to marshal None to XML-RPCcallers. Issue 223 in the collector from vgatto indicates thatsomehow a supervisor XML-RPC method is returning None (whichshould never happen), but I cannot identify how. Maybe theassertion will give us more clues if it happens again.
- Supervisor would crash when run under Python 2.5 because thexmlrpclib.Transport class in Python 2.5 changed in abackward-incompatible way. Thanks to Eric Westra for the bugreport and a fix.
- Tests now pass under Python 2.5.
- Better supervisorctl reporting on stop requests that have a FAILEDstatus.
- Removed duplicated code (readLog/readMainLog), thanks to MikeNaberezny.
- Added tailProcessLog command to the XML-RPC API. It provides amore efficient way to tail logs than readProcessLog(). UsereadProcessLog() to read chunks and tailProcessLog() to tail.(thanks to Mike Naberezny).
当前内容版权归 Supervisor 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 Supervisor .