2009/9/29 Andreas Altergott <alterg...@mira-consulting.net>

> Hi,
>
> I was trying to find a solution how to run POE applications as a Windows
> service.  I've found two solutions so far, but I am not quite satisfied
> with them.
>

I'm also writing a Win32 service with POE for a few months now. You may have
seen my recent posts on PerlMonks.org.

 o Using Win32::Daemon with POE::Component::Daemon::Win32
>
>   This would be perfect, but Win32::Daemon is not available as a PPM
>   for Perl 5.10.
>
>   POE::Component::Daemon::Win32 is not available as a PPM at all.
>
>   Win32::Daemon for Perl 5.10 is still beta and it seems this project
>   is stalled.  There's no source available to further develop this, is
>   there?
>   <http://www.roth.net/forums/topic.php?id=206>
>
>
It is worse: I tried to contact Dave Roth get access to the missing source
and to takeover the maintainership, but he doesn't responds to e-mail and
I've seen no news from his on the net since 2008.

I've managed to build a PPM from the latest binary available (20080324) and
was hoping to build my application on it, even with the risk of not having
the source in case of bug.

However I discovered last week a major Win32::Daemon bug for my application:
an incompatibility with the fork() implementation. See
https://rt.cpan.org/Ticket/Display.html?id=50020

Since yesterday I'm trying to workaround this bug by isolating the service
management part in a separate process that launch my main service code using
Win32::Job. My prototype of this service wrapper is working but I've now to
implement IPC to send events from the wrapper to my POE session in the
wrapped process. I'll post my questions about this in a separate thread.

 o Using instsrv and srvany from Windows.
>
>   This tools do not interact with POE.  They simply kill the service
>   without giving it a chance to stop.
>

That's why I'm not using it.

Olivier.

Reply via email to