TODO.txt 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. - Both the "tail" and "fg" commands in supervisorctl have tests to verify
  2. their error handling but not actual operation. We should add some additional
  3. tests to verify their operation for completeness.
  4. - Finish process group reloading that was merged into trunk. We decided to
  5. implement addProcessGroup() such that at the time it is called, it reads the
  6. config from disk and then adds the group if found. It will have no other
  7. side effects and will not require a sort of "refresh" command to be called
  8. prior. We decided that a supervisorctl "avail" command will not be
  9. implemented. We decided that we are not going to implement any kind of DWIM
  10. or "smart" config reloading in the foreseeable future and will remove the
  11. process group "diffing" functionality that attempts to compare the runtime
  12. config to that on disk.
  13. - Add an option that allows numprocs for an existing process group to be
  14. adjusted at runtime. Requested by Roger Hoover.
  15. - Subprocess logging appears to stop when the subprocess moves to the "killing"
  16. state. Reported to the mailing list by Nicolas Grilly on 2008-04-13.
  17. - supervisor.tailProcessLog() may return too many bytes when the number of
  18. bytes requested exceeds the number logged. This is not certain and needs
  19. investigation. Reported by Chris McDonough.
  20. - Allow effective user to switch to a particular group instead of
  21. defaulting to the user's primary group:
  22. http://www.plope.com/software/collector/233.
  23. - Allow sockchown group only: http://www.plope.com/software/collector/214
  24. - Implement event max_retry counter that means "after X retries of a
  25. rejected event, go into FATAL state".
  26. - FATAL state for supervisor.
  27. - When we try to clear the main log file and we get an IOError or an
  28. OSError (clearLog)
  29. - When we attempt to remove a process log file via os.remove (or
  30. equivalent all into handlers) and we get an IOError or an OSError
  31. (clearProcessLog)
  32. - When we try to kill a process and the os.kill command raises an
  33. exception (stopProcess)
  34. - If eventlisteners repeatedly reject (or crash on) an event, causing
  35. the event to be rebuffered above a reasonable threshold.
  36. - General speed improvement wrangling:
  37. - Play around with creating a select trigger file descriptor for
  38. each event pool. Maybe when an event is accepted by the pool,
  39. write to the file descriptor. This will cause select to time out
  40. and fall through. In an asyncore dispatcher represented by the
  41. file descriptor, attempt to dispatch the event.
  42. - Revisit test_startProcessGroup and test_startAllProcesses (see XXX
  43. comment about ordering).
  44. - Address outstanding collector issues.
  45. - We *might* be able to delay shutdown until all buffered events have
  46. been processed (or a timeout has been reached).
  47. - Web interface:
  48. - Unit tests for meld classes and ui server.
  49. - Meta-refresh on tail page.
  50. - Organize processes by group and allow groups to be started/stopped.
  51. - Support operations against both stderr and stdout logs.
  52. - Allow a supervisorctl-like command line through the web interface.
  53. - Display more information about Supervisor (identification, pid, etc.)
  54. - Expat error on Jens' system running slapd as root after reload.
  55. - Unit tests for log rotation.
  56. - Command-line arg tests.