On 03:41 pm, robert.wat...@gmail.com wrote: >On Tue, Jun 21, 2011 at 5:32 PM, <exar...@twistedmatrix.com> wrote: >> >>Don't define Options or makeService in the dropin file.
The system will perform better if there is less code in the dropin file (or imported by the dropin file). There are some ideas to add an optimization which will make this irrelevant, but someone needs to implement them before they'll matter. >>Use twisted.application.service.ServiceMaker instead of implementing >>your own. It's just less code to use `ServiceMaker`. It should be flexible enough for any twistd plugin. This interacts with the previous point as well, ServiceMaker avoids loading your Options and makeService implementation until someone actually invokes your twistd plugin. >> Don't use the global reactor in SetupService. Using the global reactor makes code less easily testable. This isn't specific to plugins, you should avoid the global reactor in all your Twisted-using code. Accept it as a parameter instead. >> >Would you please elaborate on the three items above? >Most of the plugin code that I've used as examples for my own have all >violated at least two of those. Hope that helps! Jean-Paul _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python