Ну хорошо!
Есть какаято служба/сервис - которая что-то там опрашивает и складывает в базу данных
В данном случае база данных у нас как основной источник информации
На сколько я понимаю само приложение никаких команд не принимает. Итого имеем:
1. Необходимо организовать прослойку которая будет слушать на каком-то порту запросы и по запросам
отдавать данные из базы или управлять службой. Тут не так много вариантов. Либо через сокеты делать либо через http (сайта и html страничек небудет так как они не нужны) и тут я бы рекомендовал посмотреть в сторону FastApi, aiohttp, sanic. Все это довольно такие простые фреймоворки с хорошей документацией. Вам всегото нужно запустить код на 30 строк который будет слушать порт и принимать входящие данные
например вы отправляете (чем угодно) стандартный http запрос на ваш апи в виде GET запроса или json
Ваш апи его обрабатывает и либо запускает команду управления сервером (2) либо возвращает запрос из базы (3)
2. Для того что бы управлять службой на винде можно заюзать win32api (pip install pywin32)
А далее
import win32serviceutil
service_name = 'Имя твоей службы'
# Старт
try:
win32serviceutil.StartService(service_name)
print(f"Служба {service_name} запущена.")
except Exception as e:
print(f"Ошибка запуска службы {service_name} : {e}")
# Стоп
try:
win32serviceutil.StopService(service_name)
print(f"Служба {service_name} остановлена.")
except Exception as e:
print(f"Ошибка остановки службы {service_name} : {e}")
Но для такой простой задачи достаточно встроенного модуля python subprocess
subprocess.run()
В данном случае sc start - стандартная виндовая команда управления службами - о ней можно почитать отдельно
3. Получив запрос с параметрами от клиента, формируем запрос в базу данных - вытягиваем данные (обрабатываем если необходимо) и возвращаем клиенту
В данном случае вам ненужно думать кто за кем стоит и кого ждет. Пришел запрос от клиента, вы его споймали функцией - получили из него форму того что ищем - нашли в базе и тут же вернули
все;