|
|
|
Администрирование кластера серверов | ☑ | ||
|---|---|---|---|---|
|
0
R1A1
18.06.10
✎
13:02
|
Получил массив кластеров
COM_Conn=Новый COMОбъект("V81.COMConnector"); Agent=COM_Conn.ConnectAgent(Srv); Clasters= Agent.GetClusters(); Для каждого Claster из Clasters Цикл Теперь хочу получить все соединения ИБ у агента есть метод GetInfoBaseConnections(<Кластер>, <Информационная база>) где <Информационная база> ИБ, для которой должен быть получен массив описаний соединений. А как получить эту <Информационная база>? И еще может кто знает где толком расписано про методы Администрирование кластера серверов |
|||
|
1
Maxus43
18.06.10
✎
13:11
|
Просмотр информации о соединениях:
Соединитель = Новый COMObject("V81.COMConnector"); ИмяМашины = "MOBILE-ADS"; Порт = "1540"; СтрокаСоединения = "TCP://" + ИмяМашины + ":" + Порт; СоединениеСАгентом = Соединитель.ConnectAgent(СтрокаСоединения); МассивКластеров = СоединениеСАгентом.GetClusters(); // получается первый массив кластера ОписаниеКластера = МассивКластеров.GetValue(МассивКластеров.GetLowerBound()); // в случае если определены администраторы кластера должны // быть указаны данные о логине СоединениеСАгентом.authenticate(ОписаниеКластера, "", ""); МассивСоединений = СоединениеСАгентом.GetConnections(ОписаниеКластера); МаксимальныйИндекс = МассивСоединений.GetUpperBound(); Для ТекущийИндекс = МассивСоединений.GetLowerBound() По МаксимальныйИндекс Цикл ОписаниеСоединения = МассивСоединений.GetValue(ТекущийИндекс); КонецЦикла; Получение информации по ИБ: Соединитель = Новый COMObject("V81.COMConnector"); ИмяМашины = "MOBILE-ADS"; Порт = "1540"; СтрокаСоединения = "TCP://" + ИмяМашины + ":" + Порт; СоединениеСАгентом = Соединитель.ConnectAgent(СтрокаСоединения); МассивКластеров = СоединениеСАгентом.GetClusters(); // получается первый массив кластера ОписаниеКластера = МассивКластеров.GetValue(МассивКластеров.GetLowerBound()); // в случае если определены администраторы кластера должны // быть указаны данные о логине СоединениеСАгентом.authenticate(ОписаниеКластера, "", ""); МассивСерверовКластера = СоединениеСАгентом.GetWorkingServers(ОписаниеКластера); // выбирается самый первый рабочий сервер кластера ОписаниеСервераКластера = МассивСерверовКластера.GetValue(МассивСерверовКластера.GetLowerBound()); МассивПроцессов = СоединениеСАгентом.GetServerWorkingProcesses(ОписаниеКластера,ОписаниеСервераКластера); // выбирается самый первый рабочий процесс рабочего сервера ОписаниеПроцесса = МассивПроцессов.GetValue(МассивПроцессов.GetLowerBound()); СтрокаСоединения = "TCP://" + ОписаниеПроцесса.HostName + ":" + Формат(ОписаниеПроцесса.MainPort, "ЧГ="); СоединениеСПроцессом = Соединитель.ConnectWorkingProcess(СтрокаСоединения); // вводятся данные пользователя информационной базы СоединениеСПроцессом.AddAuthentication("", ""); МассивБаз = СоединениеСПроцессом.GetInfoBases(); Вроде всё что можно уже почти, на примерах.... |
|||
|
2
R1A1
18.06.10
✎
13:30
|
Через вот этот метод GetInfoBaseConnections можно получить все соединения с ИБ?
|
|||
|
3
Maxus43
18.06.10
✎
13:33
|
можно... GetInfoBases() - получает бызы, по каждой из них можно получить соединения
|
|||
|
4
Maxus43
18.06.10
✎
13:34
|
если интересуют только активные пользователи, то чожно и так
Выборка = ПользователиИнформационнойБазы.ПолучитьПользователей(); |
|||
|
5
R1A1
18.06.10
✎
13:35
|
Я хочу отключить всех пользователей от базы.
|
|||
|
6
Maxus43
18.06.10
✎
13:37
|
выкидывание пользователей - типовой механизм есть. А чтобы все соединения с базой мочить (в т.ч. фоновые задания и т.д.) по другому надо...
Коннектор = Новый COMОбъект("V81.COMConnector"); Сервер = Коннектор.ConnectWorkingProcess("TestServer"); // Аутентифицироваться с административными правами в нужной базе. Сервер.AddAuthentication("Администратор", ""); // Создать объект нужной информационной базы. ИнформационнаяБаза = Сервер.CreateInfoBaseInfo(); ИнформационнаяБаза.Name = "Test_Base"; // Получить соединения базы. СоединенияБазы = Сервер.GetIBConnections(ИнформационнаяБаза); // Разорвать соединения клиентских приложений. Для Каждого Соединение Из СоединенияБазы Цикл Сервер.Disconnect(Соединение); КонецЦикла; |
|||
|
7
Maxus43
18.06.10
✎
13:37
|
блин, я стал Синтакс-Помошником (
|
|||
|
8
R1A1
18.06.10
✎
13:44
|
Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение
|
|||
|
9
Maxus43
18.06.10
✎
13:48
|
Чем типовой выброс не устраивает? так мочить - жестоко, вдруг что то юзер делает, а ты его.... не по христиански это
|
|||
|
10
R1A1
18.06.10
✎
13:49
|
А типовой это где?
|
|||
|
11
R1A1
18.06.10
✎
13:49
|
А нашел.
|
|||
|
12
R1A1
18.06.10
✎
13:52
|
(9) Просто хотел разобраться с Администрирование кластера серверов не могу представить себе структурированую схему что как работает и соответственно где и какие методы применять.
|
|||
|
13
Maxus43
18.06.10
✎
13:53
|
типовой правда тоже не идеальный... можно подпилить напильником ещё
|
|||
|
14
R1A1
18.06.10
✎
13:58
|
А где-нибудь про эту схему можно почитать? Я имею ввиду как соотносятся друг с другом массив серверов, массив кластеров, процессы, рабочие процессы и и т.д. , сейчас какая-то каша из всего этого.
|
|||
|
15
Maxus43
18.06.10
✎
14:11
|
(14) самая наглядная схема - открой консоль сервера 1с, все крестики нажми, вот именно в таком порядке они и соотносятся
|
|||
|
16
R1A1
18.06.10
✎
14:14
|
ОК
|
|||
|
17
Demiurg
18.06.10
✎
14:57
|
работа с кластерами лучше всего изучать по 1С:ЦУП
|
|||
|
18
Demiurg
18.06.10
✎
14:57
|
работу
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |