[Python-ideas] Draft PEP: Standard daemon process library

Trent Nelson python-ideas-list at trentnelson.com
Wed Jan 28 03:21:45 CET 2009


On Tue, Jan 27, 2009 at 08:49:52PM -0500, Jesse Noller wrote:
> On Tue, Jan 27, 2009 at 8:29 PM, Trent Nelson
> <python-ideas-list at trentnelson.com> wrote:
> > On Wed, Jan 28, 2009 at 08:18:51AM +1100, Ben Finney wrote:
> >> Jesse Noller <jnoller at gmail.com> writes:

> Windows Services != Unix daemons. Admittedly, I haven't had to do it
> in awhile, but from what I remember, windows services are nowhere near
> the same type of beast as a unix daemon, and trying to make a unified
> daemon library that glosses over the differences might cause seizures
> and habitual smoking.
> 
> A unix-only daemon - and then a complimenting windows-only service
> library - makes sense. Ideally, they would have close to the same API,
> but I don't think log jamming all of the vagaries of both into one
> beast makes sense. Then again, my windows-ability is out of date and
> rusty.

    See, I disagree with that as well.  Take a look at what Qt did with
    their QtService class:

        http://doc.trolltech.com/solutions/qtservice/qtservice.html

    The Trolls are particularly good at abstracting wildly different
    Unix/Windows-isms into a single, usable, unified interface.  The
    key is not thinking in terms of writing a Windows service or a
    Unix daemon, but in terms of providing an abstraction that makes
    sense to implement as a daemon on Unix and a service on Windows.

    I'd like to hear arguments for why that QtService interface is
    perceived as being deficient.  If the argument is simply that the
    PEP author is not familiar with Windows, then I'm sure those of
    us that are would much rather help out with a cross-platform
    solution than have yet another avenue for people to write Python
    code that doesn't work on the most widely deployed platform in 
    the Universe.*

        Trent.


[*] Citation needed.



More information about the Python-ideas mailing list