Запуск 1С 8.* от имени службы с мониторингом состояния и перезапуском

13.10.14

Администрирование - Мониторинг

Использование srvany.exe и скрипта на wsh для запуска 1с 8 в качестве службы и ее мониторинга.

Скачать файлы

Наименование Файл Версия Размер
1C_Service_v2.rar
.rar 32,72Kb
28
.rar 32,72Kb 28 Скачать

Введение

Несмотря на то, что в 1с 8 есть прекрасный механизм регламентных заданий, полностью автоматически он работает только в клиент-серверном варианте, а в файловом варианте 8.2 нужно запускать отдельный сеанс для работы регламентых заданий. Также иногда возникает необходимость запустить какую-то  обработку в режиме 1с Предприятия в автоматическом режиме (Пример такой обработки система Моби-С которая свой сервер реализует в  виде com-обьекта запущенного из обработки). Лучшим вариантом запуска в случаях как мне кажется, является запуск 1С от имени службы.  Думаю, плюсы такого решения всем понятны. Стандартный механизм запуска 1С как службы через использование утилиты srvany.exe обладает следующими недостатками:
-если 1с не запустилась при старте службы то уже и не запустится,
- нельзя периодически запускать 1с,
-если 1с зависла srvany.exe ничего не предпримет для перезапуска 1С Предприятия
 
Решение
Для  решения всех перечисленных проблем был написан скрип на vbscript который берет на себя всю работу по запуску и контролю за работой запущенного экземпляра 1С. Сам метод запуска службы не изменился это все тот-же srvany.exe только теперь он запускает не 1С, а скрипт который уже занимается запуском 1с исходя из своих настроек указанных в специальном файле.
Что может данный скрипт:
1. Запускать и перезапускать 1с с указанным в настройках скрипта интервалом.
2. Мониторить запущенный скриптом экземпляр 1С. Опрашивая через WMI раз в минуту значение счетчиков производительности Windows для процесса с PID запущенного экземпляра 1C и в случае если в течении пяти минут замеры производительности не изменились принимается решение что экземпляр 1C зависал запущенный процесс 1С убивается. В случае если положиться на счетчики производительности нельзя, можно настроить мониторинг даты/времени изменения спец.файла pulse.txt и также если он не изменялся (дополнительно к счетчикам производительности) то процесс 1С будет убит.  Конечно  дату/время изменения спец.файла pulse.txt запущенная копия 1С должна обновлять сам периодически иначе толку от такой проверки не будет.
3. Мониторить в определенном в настройках скрипта месте наличие файла fclose и если он найден то завершать работу запущенного экземпляра 1С.
4.  Мониторить в определенном в настройках скрипта месте наличие файла fkill и если он найден то завершать работу запущенного экземпляра 1С и больше не запускать 1С пока файл fkill не будет удален. Отличие от файла fclose в том, что файл fclose удаляется после завершения процесса 1С  т.е. с помощью него можно принудительно перезапустить процесс 1С
5. Мониторить в определенном в настройках скрипта месте наличие файла fstop и если он найден  больше не запускать 1С пока файл fstop не будет удален.
6. В случае если 1с будет зависать при трех последовательных запусках, скрипт может отправить сообщение на почту системного администратора или программиста.


 Установка службы

 1. Папку из архива поместить в корень диска. (Работу с папками в пути к которым есть пробелы не проверял, поэтому по возможности не используйте папки с пробелами)
2.  Под администратором запустить командный сценарий InstallSrv.cmd, который установит службу в системе
3.  Зайти в Administrative Tools->Component Services раздел DCOM Config найти объект  Microsoft WBEM Unsecured Apartment отрыть ее свойства и на вкладке Security дать право для типа входа СЛУЖБА на Local Launch и Local Activation. Это очень важно т.к. без этой настройки скрипт не сможет мониторить корректное завершение процесса 1С.
4. Отредактировать настройки скрипта в файле SrvConfig.ini.
5. Если  необходимо изменить интервал перезапуска 1С. Для этого отредактируйте строку Const RestartPauseSec = 60 в файле скрипта 1C_srv.vbs
6. Заполнить в файле Operators.ini данные для отправки уведомлений о зависании 1С по электронной почте.
Все служба готова к работе.
Можно добавлять неограниченное количество служб в систему главное, чтобы они были в разных папках и в случае если у Вас Windows 32-х битная, то разные службы должны запускаться от разных пользователей Windows.
Все необходимые для работы файлы в архиве. Спасибо за внимание.

 

Небольшое обновление. В первой версии скрипта была допущена ошибка, приводящая к тому, что 1С больше не запускалась в случае неудачной попытки запуска процесса 1С.

скрипт служба мониторинг запуск

См. также

Мониторинг баз и серверов 1С

Журнал регистрации Мониторинг Платформа 1С v8.3 Платные (руб)

В сферу обязанностей при работе с клиентами входит контроль работы баз данных и серверов 1С. Нужно понимать что происходит в базах, есть ли ошибки, зависания у пользователей и фоновых задач, блокировки или какое-то необычное поведение системы, получение информации о причинах возникновения проблем и их оперативное устранение и т.д. В качестве источников информации использую консоль кластеров 1С, технологический журнал 1С, журналы регистрации базы 1С. Для автоматизации части операций мониторинга и анализа создал инструмент на основе 1С.

9000 руб.

28.08.2019    30955    14    21    

66

Конфигурация Session Monitor

Мониторинг Инструменты администратора БД Платформа 1С v8.3 Россия Платные (руб)

Конфигурация Session Monitor предназначена для мониторинга сервера 1С с целью отслеживания чрезмерной нагрузки от конкретных сеансов и скорости реакции рабочих процессов.

1500 руб.

01.12.2020    14227    32    0    

47

Yellow Watcher - Жёлтый наблюдатель за информационными базами

Мониторинг Платформа 1С v8.3 Абонемент ($m)

Программный комплекс мониторинга качества работы информационных баз. Статистика возникновения управляемых блокировок (тип, последняя строка контекста, контекст). Анализ длительных запросов по данным из технологического журнала. Анализ потребления ресурсов СУБД запросами и статистика ожиданий по данным из Query Store. Монитор информационной базы - получение плана запроса для сеанса 1С.

1 стартмани

12.02.2024    3041    23    sdf1979    11    

51

Проверка доступа к интернет на сервере 1С

Мониторинг Платформа 1С v8.3 Конфигурации 1cv8 1С:Бухгалтерия 3.0 Абонемент ($m)

Инструмент для проверки интернет - соединения на сервере 1С

3 стартмани

23.11.2023    1818    5    1395969    4    

2

Магия преобразований Vector, часть 3: журнал регистрации + прямой экспорт ошибок в Sentry

Журнал регистрации Мониторинг Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

19.11.2023    665    2    AlexSTAL    0    

6

Магия преобразований Vector, часть 2: технологический журнал

Технологический журнал Мониторинг Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

15.11.2023    766    4    AlexSTAL    0    

8

Магия преобразований: ЖР, ТЖ, RAS/RAC, логи - универсальное решение Vector

Мониторинг Журнал регистрации Технологический журнал Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

13.11.2023    2967    4    AlexSTAL    0    

42

Чем Service Discovery поможет 1С-нику и его клиентам?

Тестирование QA Мониторинг Бесплатно (free)

Если развернуть слепок рабочей среды в окружении для тестирования, тесты могут начать взаимодействовать с рабочим окружением. Расскажем о том, как автоматически перенастраивать базы 1С под окружение разработки или тестирования с помощью концепции Service Discovery.

08.11.2023    2922    ktb    0    

18
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. vec435 15 15.10.14 12:19 Сейчас в теме
как вариант - запуск 1С из ярлыка с параметром /Execute в который передаешь полный путь к обработке
2. dumsik 34 16.10.14 03:34 Сейчас в теме
(1) vec435, это конечно хорошо но проблему с перезапуском 1с в случае зависания это никак не решит. Да и запустить ярлык часто просто некому (допустим комп ночью перезагрузился и т.д.). Помещение ярлыка в автозагрузку не предлагать :)
3. hackoff 11 08.06.18 06:15 Сейчас в теме
Спасибо огромное скрипт пригодился. Правда пришлось убрать кусок. С ним не работало.
'If bAppDBType=0 Or Not Len(bAppDBType)>0 Then
' bAppDBType=0 'возможно небыло значения в файле настроек тогда считаем базу файловой
' If Not objFSO.FileExists(sAppDBAdress) Then
' SaveEventToLog "Каталог БД " & sAppDBAdress & " не найден !"
' WScript.Quit 1
' End if
'Else
' bAppDBType=1 'на всякий случай любые даннные отличные от нуля это будет серверная база
'End if
4. malinko.vasiliy 7 03.08.22 13:01 Сейчас в теме
добры день. Скрипт под пользователем запускается, как служба нет. Сделал такие настройки. то не так, подскажите?
Прикрепленные файлы:
5. malinko.vasiliy 7 03.08.22 13:04 Сейчас в теме
Не хотите добавить в параметрах скрипта команду запуска внешней обработки? Тот же моби-с было бы удобно запускать сразу.
Оставьте свое сообщение