Hi, I am looking for some assistance with utilizing pywin32 in order to create 
a Windows Service.

I've tried to create as bare-bones of an application as I could inheriting from 
win32serviceutil.ServiceFramework

import traceback
import win32serviceutil
import win32service
import win32event
import servicemanager
import socket
import time
import os
import sys

class MyService(win32serviceutil.ServiceFramework):
_svc_name_ = 'MyPythonService'
_svc_display_name_ = 'My Python Service'
_svc_description_ = 'This is a sample Python Wind

def __init__(self, args):
win32serviceutil.ServiceFramework.__init__(se
self.hWaitStop = win32event.CreateEvent(None,
socket.setdefaulttimeout(60)
self.is_alive = True
def SvcStop(self):
self.ReportServiceStatus(win32service.SERVICE
win32event.SetEvent(self.hWaitStop)
self.is_alive = False

def SvcDoRun(self):
self.ReportServiceStatus(win32service.SERVICE
self.ReportServiceStatus(win32service.SERVICE
# win32event.WaitForSingleObject(self.hWaitSt
try:
servicemanager.LogMsg(servicemanager.EVEN
PYS_SERVICE_STARTED, (self._svc_name_, ''))
self.main()
except Exception as ex:
servicemanager.LogErrorMsg("Exception in
eback.format_exc()))
raise

def main(self):
while self.is_alive:
with open('test.txt', 'a') as f:
f.write('Service loop...')
time.sleep(2)

if __name__ == '__main__':
if len(sys.argv) == 1:
servicemanager.Initialize()
servicemanager.PrepareToHostSingle(MyService)
servicemanager.StartServiceCtrlDispatcher()
else:  win32serviceutil.HandleCommandLine(MyService)

I've installed it via opening an admin command prompt and running

python main.py install

It installs successfully but if I attempt to run it, I get

[image.png]

Or

>>python main.py start
> Starting service MyPythonService
> Error starting service: The service did not respond to the start or control 
> request in a timely fashion.

debugging seems to work, or at least does not give any errors

> python main.py debug
> Debugging service MyPythonService - press Ctrl+C to stop.Info 0x40001002 - 
> The MyPythonService service has started.

I believe my pywin32 is fully up to date

> python -m pip install --upgrade pywin32
> Requirement already satisfied: pywin32 in 
> c:\users\jerem\appdata\local\programs\python\python311\lib\site-packages (305)

Misc

> python --version
> Python 3.11.2

[image.png]

Any assistance is very much appreciated!

Sent with [Proton Mail](https://proton.me/) secure email.
_______________________________________________
python-win32 mailing list
python-win32@python.org
https://mail.python.org/mailman/listinfo/python-win32

Reply via email to