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

Jesse Noller jnoller at gmail.com
Wed Jan 28 02:49:52 CET 2009


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:
>>
>> > I think adding the windows services functionality distracts from the
>> > reasonable goal of the PEP Ben is proposing.
>>
>> Thanks, this is my position also. I have documented this now, and it
>> will appear in the next version of the PEP.
>
>    I disagree.  Partly because I'm in a bit of a devil's advocate mood
>    at the moment.  But mostly because I know what will happen: the PEP
>    gets approved, the daemon module gets written, and, because it's so
>    useful, uptake is immediate, people start writing code that uses it.

>    Or is it?  Don't get me wrong, I *heart* Unix.  But I get paid to
>    develop in Windows.  Because frankly, that's where the big bucks are
>    and it's an extremely satisfying transition to jettison all emotional
>    reasoning and just work for whoever is willing to pay you the most.
>    I highly recommend it.  But for now, I digress.
>

Don't worry; I think most of us would gladly work for money. In fact,
I would hazard most of us like money a lot.

>    So, back to your Unix-only daemon module.  It's good.  Great, in
>    fact.  All sorts of projects start using it.  Subversion uses it
>    to write some funky persistent daemon that speeds up hooks by
>    8000% percent.  Well that's just super!  I'd like to use that for
>    one of my clients, but, argh, no, wait, I can't, it's trying to
>    use some daemon module that Google tells me is Unix-only.
>
>    After poking around the source, I'm perplexed.  It's not doing
>    anything uniquely Unix-xy, just your normal, run-of-the-mill
>    start/stop type stuff.  Why on earth, I think to myself, is this
>    great 3rd party Python utility using a Unix-only daemon module,
>    thus requiring me to hack it to bits in order for it to run on
>    Windows, wasting my time and my client's time.

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.

-jesse


More information about the Python-ideas mailing list