10. Служба Windows

# > Общий раздел (Russian/Russia) > 01. REST сервер ( API для Медиалога ) > Документация > 3. Установка и настройки сервера > 10. Служба Windows

Описание

Служба Windows

Установка службы описана тут 01. Начало. Установка и настройка для запуска

ВНИМАНИЕ:

Для использования службы требуется все относительные пути сделать абсолютными
в automedi.ini и таблице настройки MSS_REST_CASH_DICOMSERV_PRM (если используются dicom методы)

Команды работы со службой Windows

Примеры настройки в automedi.ini postfix_srv=TEST

команда описание
mss_rest_srv_uniserver.exe -i установка службы
mss_rest_srv_uniserver.exe -u деинсталяция службы
sc start mss_rest_srv_uniserver_TEST запуск службы в консоли
sc query mss_rest_srv_uniserver_TEST информация о состоянии службы
sc queryex mss_rest_srv_uniserver_TEST определение PID процесса
taskkill /F /PID 12345 принудительное закрытие процесса по PID например 12345

Запуск службы с разными именами.

Если у вас есть папка с программами mss_rest_uniserver.exe (оконное приложение) и mss_rest_srv_uniserver.exe (служба)
обе эти программы можно запускать из одной папки одновременно. Они пользуются одним файлом настроек automedi.ini
для оконного приложения нужно прописать порт в параметр port=, а для службы в port_srv= , порты должны быть разными.

Если же требуется установить и параллельно запускать несколько экземпляров служб, то нужно сделать копию папки.
И в первую прописать в automedi.iniнапример postfix_srv=TEST, а во второй папке postfix_srv=WORK
Тогда в оснастке windows Службы будет две строки
mss_rest_srv_uniserver_TEST
mss_rest_srv_uniserver_WORK

Попытки подключения к MS SQL Server

В службе реализован цикл попыток подключения к SQL серверу. Это делается для запуска службы после перезапуска ОС.
Т.к. MS SQL сервер стартует дольше, а настройка зависимости службы от SQL не всегда срабатывает.
Читаются параметры из automedi.ini
attempt_connect2sql_interval=10000
attempt_connect2sql_cnt=5

И с паузой между попытками в 10 секунд делается попыток подключения.
Если подключиться не удается об этом делается запись в лог и служба останавливается.

restart_service.bat

Файл идет в комплекте.
Служит для проверки состояния службы и перезапуска в том случае если не отвечает.

В нем нужно прописать/поправить имя службы (так как оно отображается в Службах Windows)
Прописать путь к программе CURL
Прописать URL адрес с портом на котором работает служба

Этот bat файл нужно прописать в Планировщик Windows выполняться например 1 раз в минуту.
Будет выполняться через CURL команда HEAD которая не нагружается службу.
В случае отсутствия ответа в течении 9 сек (можно изменить в bat)
определяется PID процесса, процесс закрывается и служба запускается снова.

Логирование

В службу добавлено логирование в Журнал событий Windows.
Записывается вывод текстов исключений возникающих в программе или на MS SQL сервере.

Сравнение службы и оконного приложения
  Оконное приложение Служба Windows
файл mss_rest_uniserver.exe mss_rest_srv_uniserver.exe
параметр адрес ip ip_srv
параметр порт. Обязательно разные port port_srv
включение SSL ssl ssl_srv
Файл лога LogFileName=
в конце добавляется ДатаВремяв конце добавляется ДатаВремя,
служба сама добавляет символы srv_
Логический признак
mss_utility_scripts.not_use_in_srv
игнорируетсяНе использует методы not_use_in_srv=1
Внесение пароля mss_rest_user есть нет
Внесение пароля smtp есть нет
Редактор макетов есть нет
Внесение токенов есть нет
Очистка папки кеша файлов есть есть
Перезаполнение таблицы кеша расписания есть есть
Внесение новых методов в базу есть нет
Поддержка методов
CREATE_PROTOCOL_PDF,
GET_PROTOCOL_PDF,
GET_ANALYSE_PDF,
GET_ANALYSES_LIST,
CREATE_STUDIES_ZIP,
GET_STUDIES_ZIP,
SEND_EMAIL_PASSWD
есть есть, с версии v.23.07.21.7


Создан: Соловей Евгений 02.02.24 6:47; Изменен: Соловей Евгений 02.02.24 8:03
Эта страница является подготовленной к печати версией файла "10. Служба Windows".
Подготовлено с помощью Project Kaiser - программы для управления проектами и задачами
Пользователь:Guest