Рабочие процессы

Рабочий процесс — это основная «рабочая лошадка» кластера серверов. Именно рабочий процесс занимается обслуживанием клиентских соединений и взаимодействием с СУБД. Созданием и завершением работы рабочих процессов занимается менеджер кластера в соответствии с настройками кластера и текущей нагрузкой. Однако инструменты администрирования кластера серверов позволяют получить список рабочих процессов, работающих в данный момент времени. Для каждого из этих процессов можно получить их текущие параметры.

Рабочий процесс описывается типом РабочийПроцессV8. Для получения информации о рабочем процессе существуют две возможности:
  1. Получить список рабочих процессов кластера серверов с помощью метода КластерV8.ПолучитьРабочиеПроцессы(). Результатом работы метода будет массив экземпляров РабочийПроцессV8. Затем можно выбрать требуемый рабочий процесс и получить его параметры.
  2. Получить описание конкретного рабочего процесса с помощью метода КластерV8.ПолучитьРабочийПроцесс(). Для этого необходимо знать идентификатор требуемого рабочего процесса.

Параметры рабочего процесса подробно описаны в документации к системе «1С:Предприятие». С точки зрения «1С:Шины» рекомендуется обратить внимание на свойство ИдРабочегоПроцесса, так как с помощью данного свойства можно получить описание рабочего процесса сразу, а не поиском в массиве рабочих процессов кластера серверов. Однако следует учитывать, что в тот момент, когда вы захотите получить информацию о рабочем процессе, сам рабочий процесс может уже не существовать в «1С:Предприятии».

Получить список рабочих процессов

метод ПолучитьСписокРабочихПроцессов()
    пер мойКластер = ПолучитьКластер()
    мойКластер.ВыполнитьАутентификацию("", "")
    пер РабочиеПроцессы = мойКластер.ПолучитьРабочиеПроцессы()
    для Процесс из РабочиеПроцессы
        пер СерверИПорт = "Рабочий сервер - " + Процесс.ИмяКомпьютера + ":" + Процесс.Порт
        пер ПроцессАктивен = Процесс.Активен
        пер ПроцессВключен = Процесс.Включен
        пер ПроцессВремяЗапуска = Процесс.ВремяЗапуска
    ;
;

метод ПолучитьКластер(): КластерV8
    пер Сервер = новый АдминистрированиеСервераV8("localhost", 1545)
    возврат Сервер.ПолучитьКластеры()[0]
;