FTR, Mike also just gave you a well-deserved nod at http://supervisord.org/contributors/ ;-)
- C Chris McDonough wrote: > This is excellent code. > > I've applied the patch with only a few minor formatting changes to the trunk. > Personally, I don't use FastCGI, so I didn't try it in anger, but the patch > appears to be inert when you don't use the feature, so I didn't see any reason > to not apply it if it works for Roger. > > We probably need some info in the style of the sections like > "[eventlister:x]</code> Section Settings" ala > http://svn.supervisord.org/supervisor_manual/trunk/chapters/configuration.xml > to > put in the documentation regarding the fcgi-program sections in the config. > > - C > > > Roger Hoover wrote: >> I finally got some time this past weekend do the integration, complete with >> lots of unit tests. I've got a patch based on the latest svn revision, 758. >> >> The configuration for FastCGI programs is the same as regular programs >> except an additional "socket" parameter. Substitution happens on the socket >> parameter with the 'here' and 'program_name' variables. >> >> [fcgi-program:fcgi_test] >> ;socket=tcp://localhost:8002 >> socket=unix:///path/to/fcgi/socket >> ... >> >> One caveat with this first implementation is that FastCGI programs must be >> homogeneous groups. It may not be too difficult to lift this restriction if >> you guys think it's a good idea. >> >> I appreciate whatever feedback you have on this code. If you're willing to >> accept the patch, I can help with updating the documentation or whatever >> needs to be done. >> >> Thanks, >> >> Roger >> >> >> On Sun, Mar 2, 2008 at 1:09 PM, Roger Hoover <[EMAIL PROTECTED]> wrote: >> >>> Thanks, Chris. I understand and was planning on writing thorough unit >>> tests. >>> >>> >>> On Sun, Mar 2, 2008 at 11:58 AM, Chris McDonough <[EMAIL PROTECTED]> wrote: >>> >>>> Roger Hoover wrote: >>>>> Hi Mike and Chris, >>>>> >>>>> Thanks for the tips. I wrote a python FastCGI spawner and am ready to >>>>> integrate it into supervisor. After looking through the code and >>>> Mike's >>>>> tips, I think it will be mostly straightforward. >>>>> >>>>> Here's what I think I need to do: >>>>> - Add PNullDispatcher class to throw away stdin messages (FastCGI >>>> programs >>>>> expect the FastCGI socket to be file descriptor 0 so supervisor pipe >>>> to >>>>> stdin) >>>>> - Add FastCGIConfig class >>>>> - Add FastCGISubProcess class >>>>> - refactor _spawn method in existing Subprocess class to use a >>>>> _prepare_child_fds() method >>>>> - override _prepare_child_fds() to do FastCGI stuff >>>>> - Add FCGIGroupConfig to parse fcgi-program section >>>>> >>>>> I'm new to python so I'm wondering how to get setup to run the >>>> existing >>>>> tests. I checked the code out of svn but can't get the tests to run. >>>> Do I >>>>> need to run an easy_install command of some kind? >>>> In the checkout, you can do "python setup.py test" to run the tests (at >>>> least on >>>> any Internet-connected system). Note that supervisor is meant to be >>>> compatible >>>> with all of Python 2.3, 2.4, and 2.5, so using any of those versions of >>>> python >>>> to do that, the tests should pass. >>>> >>>> FTR, before you do much work on the integration, I'll offer a warning: >>>> this >>>> stuff will need to have good test coverage before we can consider >>>> putting it in. >>>> Often writing the tests is far more time-consuming than writing the >>>> code (or >>>> it is for me), so please add this into your time calculations when >>>> coming to a >>>> decision about whether you want to go ahead with the integration or not. >>>> >>>> Thanks! >>>> >>>> - C >>>> > > > _______________________________________________ > Supervisor-users mailing list > Supervisor-users@lists.supervisord.org > http://lists.supervisord.org/mailman/listinfo/supervisor-users > _______________________________________________ Supervisor-users mailing list Supervisor-users@lists.supervisord.org http://lists.supervisord.org/mailman/listinfo/supervisor-users