[python-win32] pywin32 services
Michael Mileusnich
justmike2000 at gmail.com
Wed Jul 21 05:06:31 CEST 2010
Issues:
I figured fname was throwing an exception due to the fact I did not qualify
.exe at the end of my command. Regardless, upon further investigation using
a simple example such as:
"""
The most basic (working) CherryPy 3.1 Windows service possible.
Requires Mark Hammond's pywin32 package.
"""
import cherrypy
import win32serviceutil
import win32service
class HelloWorld:
""" Sample request handler class. """
@cherrypy.expose
def index(self):
return "Hello world!"
class MyService(win32serviceutil.ServiceFramework):
"""NT Service."""
_svc_name_ = "CherryPyService"
_svc_display_name_ = "CherryPy Service"
def SvcDoRun(self):
cherrypy.tree.mount(HelloWorld(), '/')
# in practice, you will want to specify a value for
# log.error_file below or in your config file. If you
# use a config file, be sure to use an absolute path to
# it, as you can't be assured what path your service
# will run in.
cherrypy.config.update({
'global':{
'log.screen': False,
'engine.autoreload.on': False,
'engine.SIGHUP': None,
'engine.SIGTERM': None
}
})
cherrypy.engine.start()
cherrypy.engine.block()
def SvcStop(self):
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
cherrypy.engine.exit()
self.ReportServiceStatus(win32service.SERVICE_STOPPED)
# very important for use with py2exe
# otherwise the Service Controller never knows that it is stopped !
if __name__ == '__main__':
win32serviceutil.HandleCommandLine(MyService)
The service doe not start and gives me the untimely fashion error when
win32servileutil calls win32service.StartService(hs, None).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-win32/attachments/20100720/f76eac0d/attachment.html>
More information about the python-win32
mailing list