Hi all, I have used the win32com libraries to set up a service called MyService under Windows. So far, so good. Now I need to run multiple copies of the service on the same machine. I also have that working. For monitoring and logging, I'd like each instance of the service to know it's own identity (MyService1, MyService2, etc.)
But I can't quite seem to grasp how to do this. In the code below, the command line parameter "-i" gives the service an identity, but how do I get the service to understand it's identity when it is started? Many thanks! class MyService(win32serviceutil.ServiceFramework): """NT Service.""" _svc_name_ = "MyService" _svc_display_name_ = "My Service" _id_ = '' def SvcDoRun(self): provider = MyServiceClass(identifier=self._id_) provider.start() # now, block until our event is set... win32event.WaitForSingleObject(self.stop_event, win32event.INFINITE) # __init__ and SvcStop snipped ########################################################################### if __name__ == '__main__': import optparse parser = optparse.OptionParser() parser.add_option("-i", "--identifier", dest="identifier") (opts, args) = parser.parse_args() if opts.number is not None: MyService._svc_name_ += opts.identifier MyService._svc_display_name_ += opts.identifier MyService._provider_id_ = opts.identifier win32serviceutil.HandleCommandLine(MyService, customInstallOptions="i:") -- http://mail.python.org/mailman/listinfo/python-list