Установка службы описана тут 01. Начало. Установка и настройка для запуска
Для использования службы требуется все относительные пути сделать абсолютными
в automedi.ini и таблице настройки MSS_REST_CASH_DICOMSERV_PRM (если используются dicom методы)
Примеры настройки в 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
В службе реализован цикл попыток подключения к SQL серверу. Это делается для запуска службы после перезапуска ОС.
Т.к. MS SQL сервер стартует дольше, а настройка зависимости службы от SQL не всегда срабатывает.
Читаются параметры из automedi.ini
attempt_connect2sql_interval=10000
attempt_connect2sql_cnt=5
И с паузой между попытками в 10 секунд делается попыток подключения.
Если подключиться не удается об этом делается запись в лог и служба останавливается.
Файл идет в комплекте.
Служит для проверки состояния службы и перезапуска в том случае если не отвечает.
В нем нужно прописать/поправить имя службы (так как оно отображается в Службах 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 |