Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Закрытие неактивных сеансов (2 сервера)

Закрытие неактивных сеансов (2 сервера)
Я
   Radion
 
20.02.20 - 15:03
Всем привет, прошу поделиться опытом, по закрытию зависших сессий пользователей с условием, что на сервере установлено 2 агента сервера 1С. Установили 2 агента сервера 1С (с различными версиями платформ). На первом продакшн база торговля, на 2-м БП, ЗУП и тп, что нужно оперативно обновлять. Если бы был установлен сервер 1С был один, проблем нет. Но их 2 и сессии зависают на обоих. Кто реализовывал такой вариант? Спасибо.
 
 
   belav1982
 
1 - 20.02.20 - 15:23
Настройки в самих базах не помогают? Конфигуратор: Администрирование - Параметры информационной базы?
Может, я не так что-то понял. Тогда хоть апну тему:)
   Radion
 
2 - 20.02.20 - 15:26
(1) хочу запустить через регламентное задание, через подключиться к агенту сервера через Com обьект. Вот здесь то и самая загвоздка, т.к. библиотека зарегистрирована одна на один конкретный сервер.
   Очевидно
 
3 - 20.02.20 - 15:39
(0) какая-то муть, тема "Закрытие неактивных сеансов", в сообщении про "Зависшие сессии", а в (2) про подключение через "COM" а агенту сервера и не зарегистрированные компоненты... вы уж определитесь что вы хотите ...
   Очевидно
 
4 - 20.02.20 - 15:49
(0)
Про зависшие и неактивные сеансы - думаю нужно копать в сторону "1С RAS".
про "подключиться к агенту сервера через Com объект" - стоит ещё раз подумать откуда и куда вы собираетесь соединяться...
   LOLYBUF
 
5 - 20.02.20 - 17:06
Совсем недавно реализовывал похожую вещь:


    Соединитель     = Новый COMОбъект("V83.COMConnector");
    СоединениеСАгентом     = Соединитель.ConnectAgent("b3");
    Clusters         = СоединениеСАгентом.GetClusters();
    
    для Каждого Кластер из Clusters Цикл
        СоединениеСАгентом.Authenticate(Кластер,"","");
        WorkingProcesses = СоединениеСАгентом.GetWorkingProcesses(Кластер);
        Базы = СоединениеСАгентом.GetInfoBases(Кластер);
        Для каждого База  Из Базы Цикл
            Если Врег(База.Name) = ВРЕГ("trade") Тогда
                Сеансы = СоединениеСАгентом.GetInfoBaseSessions(Кластер,База);
                Для Каждого Сеанс из Сеансы Цикл
            //Закрываешь сеанс        

        КонецЦикла;
            КонецЕсли; 
        КонецЦикла; 
    КонецЦикла;
   LOLYBUF
 
6 - 20.02.20 - 17:06
Почему такая стремная табуляция получается????
   LOLYBUF
 
7 - 20.02.20 - 17:10
Например вот закрытие сеанса через определенный срок:


Если Сеанс.LastActiveAt <= КрайнийСрок Тогда
    СоединениеСАгентом.TerminateSession(Кластер, Сеанс);
КонецЕсли
   Radion
 
8 - 20.02.20 - 17:19
(7) Спасибо. Да, обработка есть, не проблема. Посоветовали программно предварительно регистрировать нужную dll а затем уже подключаться к нужному агенту сервера и делать что требуется.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.