Changes between and of Version 2Version 5Ticket #2571


Ignore:
Timestamp:
06/26/2007 10:58:34 AM (7 years ago)
Author:
glyph
Comment:

Each one of the bullet points in the description (copied here because trac is going to eventually unversion the description and destroy all this information):

  • daemonization
  • logging
  • IServiceMaker location
  • reactor selection
  • privilege management (uid, gid, euid, chroot?)
  • persistence
  • profiling
  • process naming

should be an object with methods on it. There should be a daemonizer which knows about how to start services and when (or whether) to daemonize, a logging object which represents all the different ways twistd dcan deal with login, a ServiceMakerBuilder which can build an IServiceMaker provider in each of the various ways, a ReactorSelector that deals with the plugin system, and so on, and so on.

Each of these is a separate task, so if you are looking for a way to start on this ticket, it would be filing tickets for stuff that is an unstructured mess (a combination of module state and undocumented free functions, for example) and converting it into a clean API, then linking those tickets from here. It would be best if each of those tickets described a specific issue which is currently problematic due to the lack of structure, so we can make sure that the structure put in place is actually useful.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #2571

    • Property Cc therve added
  • Ticket #2571 – Description

    v2 v5  
    1 Currently twistd converts some  
    2  
    3 options into objects ({{{app.ApplicationRunner}}} et. al., and some options into a series of function calls (runReactorWithLogging, fixPdb, runWithProfiler, etc). 
     1Currently twistd converts some options into objects ({{{app.ApplicationRunner}}} et. al., and some options into a series of function calls (runReactorWithLogging, fixPdb, runWithProfiler, etc). 
    42 
    53Before twistd does anything with the arguments that it's given, it should convert all of them into a set of introspectable, structured objects, which can be manipulated.