On 02/09/2010 20:55, Edward Kozlowski wrote:
On Sep 2, 2:38 pm, Ian<hobso...@gmaiil.com> wrote:
On 02/09/2010 20:06, Edward Kozlowski wrote:
On Sep 2, 10:22 am, Ian Hobson<i...@ianhobson.co.uk> wrote:
Hi All,
I am attempting to create a Windows Service in Python.
I have the framework (from Mark Hammond and Andy Robinason's book)
running - see below. It starts fine - but it will not stop. :(
net stop "Python Service"
and using the services GUI both leave the services showing it as "stopping"
I guess this means SvcStop is called but it is not enough to get it out
of the machine.
Does anyone know why not?
Python 2.7 with win32 extensions, sunning on Windows 7.
Many thanks
Ian
the (complete) source code is
#!/usr/bin/env python
# coding=utf8
# service.py = testing services and Named pipes
#
import win32serviceutil
import win32service
import win32event
class PythonService(win32serviceutil.ServiceFramework):
_svc_name_ = "Python Service"
_svc_display_name_ = "Test Service in Python"
def __init__(self, args):
win32serviceutil.ServiceFramework.__init__(self,args)
self.hWaitStop = win32event.CreateEvent(None,0,0,None)
def SvcStop(self):
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
wind32event.SetEvent(self.hWaitStop)
def SvcDoRun(self):
win32event.WaitForSingleObject(self.hWaitStop,win32event.INFINITE)
if __name__ == '__main__':
win32serviceutil.HandleCommandLine(PythonService)
Looks to me like there may be a typo in your code.
You probably meant win32event.SetEvent(self.hWaitStop), not
wind32event.
Regards,
-Edward Kozlowski
A huge big thank you Edward. That was the problem.
Regards
Ian
You're most welcome.
If you're looking at running services in Windows using Python, one
other hangup I ran into was that my services would freeze for no
reason. At Pycon '09, I learned that there were buffers for stdout
and stderr that were filling. I wish I could remember who gave the
talk that included the jewel of knowledge, because I'd love to give
credit where it's due...
After I redirected stdout and stderr to files, my problems with the
services freezing went away.
Regards,
-Edward Kozlowski
Hi Edward,
Thanks for the heads up. That is really worth knowing.
Ian
--
http://mail.python.org/mailman/listinfo/python-list