0
Мисти
13.03.20
✎
02:00
|
Обновляю базу скл, процесс уже пошел! Должны отработать монопольно обработки, т.е. просто войти в базу я не могу, запускается обновление, но оно не может закончится, потому что запускаюьмся фоновые задания!
|
|
2
Галахад
гуру
13.03.20
✎
04:41
|
Прибить фоновые можно так:
ИмяСервера = "";
ПортСервера = "";
ИмяБазы = "";
Логин = "";
Пасс = "";
Коннектор = Новый COMОбъект("v83.COMConnector");
Агент = Коннектор.ConnectAgent(ИмяСервера + ":" + ПортСервера);
Кластеры = Агент.GetClusters();
Для каждого Кластер из Кластеры Цикл
Агент.Authenticate(Кластер,"","");
Процессы = Агент.GetWorkingProcesses(Кластер);
Для каждого Процесс из Процессы Цикл
Порт = Процесс.MainPort;
// теперь есть адрес и порт для подключения к рабочему процессу
РабПроц = Коннектор.ConnectWorkingProcess(ИмяСервера + ":" + СтрЗаменить(Порт, Символы.НПП, ""));
РабПроц.AddAuthentication(Логин, Пасс);
ИнформационнаяБаза = "";
Базы = Агент.GetInfoBases(Кластер);
Для каждого База из Базы Цикл
Если База.Name = ИмяБазы Тогда
ИнформационнаяБаза = База;
Прервать;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Если НЕ ИнформационнаяБаза = "" Тогда
Сеансы = Агент.GetInfoBaseSessions(Кластер, ИнформационнаяБаза);
Для каждого Сеанс из Сеансы Цикл
Если нРег(Сеанс.AppID) = "backgroundjob" Тогда
Агент.TerminateSession(Кластер, Сеанс);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
|
|