|   |   | 
| 
 | Не спящие сеансы в 8.3 | ☑ | ||
|---|---|---|---|---|
| 0
    
        Господин ПЖ 14.07.17✎ 10:26 | 
        Ночью есть необходимость запускать скрипт для выполнение которого необходимо перевести базу в монопольный режим. Т.е. чтобы в базе никого не было. В 8.2 это было банально: стоп сервис, старт сервис и пользователи не закрывшие 1с все отваливались. Заодно утечки памяти по рабочим процессам уходили. Сейчас этот фокус не проходит. Например  не закрыли программу юзверы. Причем ушли они в 7-8 часов вечера, сервер (в 2 часа ночи) показывает что эти сеансы почему-то "не спят" (таймеры "сна" стоят в базе все по дефалту 1200/86400). Завершение работы сервера "аварией" судя по всему не считается, сеансы в "спящие" не переходят.
 Как теперь всех гарантировано гонять всех с базы в нужный момент в 8.3? Скриптом выпиливать все сеансы из консоли кластера? | |||
| 1
    
        sFAQer 14.07.17✎ 10:34 | 
        (0) Ну так установи таймер 600/3600, они уснут и отваляться     | |||
| 2
    
        Господин ПЖ 14.07.17✎ 10:37 | 
        (1) а чего они при 1200 и промежутке времени с 20 до 2 ночи не засыпают? у них каких либо обработчиков ожидания нет чтобы "деятельность" симулировать     | |||
| 3
    
        sFAQer 14.07.17✎ 10:39 | 
        (2) У меня данных симптомов не наблюдается. Платформа какая?     | |||
| 4
    
        Winnie Buh гуру 14.07.17✎ 11:05 | 
        клиенты работают в терминале? 
 на сервере ОС Windows Server x64? | |||
| 5
    
        Господин ПЖ 14.07.17✎ 12:24 | 
        (3) 8.3.9.2170
 (4) >на сервере ОС Windows Server x64? да >клиенты работают в терминале? и так и так | |||
| 6
    
        Winnie Buh гуру 14.07.17✎ 12:32 | 
        (5) одна из возможных причин зависания лицензий 1С в терминале на х64 сервере - это процесс "splwow64.exe", который запускается при печати, а завершается только через некоторое время. 
 если в этот момент закрыть 1С, то сессия зависает. для решения проблемы нужно уменьшить тайм-аут завершения процесса splwow64.exe и добавить его в список процессов, завершаемых при завершении терминальной сессии http://www.online-ufa.ru/content/articles/problem-1c-rdp/ | |||
| 7
    
        RomaH naïve 14.07.17✎ 12:58 | 
        что-то народ не понимает о чем (0) повествует
 сейчас - можно открыть предприятие - появится сеанс пользователя остановить сервер 1С - запу3стить сервер 1с продолжать работать в 1С не перезапуская сеанс предприятия | |||
| 8
    
        RomaH naïve 14.07.17✎ 13:02 | 
        (0) - а таймеры сна - это где? - поэксперементирую     | |||
| 9
    
        RomaH naïve 14.07.17✎ 13:04 | 
        (2) - так - 1200 - это время засыпания
 а 86400 - это через сутки после засыпания сеанс завершится | |||
| 10
    
        Oftan_Idy 14.07.17✎ 13:07 | 
        (0) "Скриптом выпиливать все сеансы из консоли кластера?"
 Да Или еще можно попробовать сделать больше интервал времени между "стоп сервис 1С" и "старт сервис 1С" | |||
| 11
    
        Fragster гуру 14.07.17✎ 13:12 | 
        RAS + RAC спасет     | |||
| 12
    
        RomaH naïve 14.07.17✎ 13:12 | 
        и похоже БСП (или надо на чистой базе пробовать) - что-то там запрашивает (да даже динамический список автообновление) 
 сеанс в спящий переходит - потом фоновое - и опять не спящий | |||
| 13
    
        Fragster гуру 14.07.17✎ 13:12 | 
        открытые клиенты не засыпают, так как в них есть обработчики ожидания на клиенте, которые сбивают таймер     | |||
| 14
    
        Fragster гуру 14.07.17✎ 13:13 | 
        а вообще очень просто - не выключил комп на ночь - оплатил электричество по ставке для ЮЛ в размере 10кВт/ч     | |||
| 15
    
        Fragster гуру 14.07.17✎ 13:13 | 
        сррразу же начнут выключать     | |||
| 16
    
        Господин ПЖ 14.07.17✎ 13:22 | 
        (10) не поможет - "падение" сервиса не является аварией, процессы в спящие не переходят     | |||
| 17
    
        Господин ПЖ 14.07.17✎ 13:23 | 
        (7) с ОФ же это не прокатывает?     | |||
| 18
    
        Fish гуру 14.07.17✎ 13:24 | 
        (16) А зачем им переходить в спящие? Они просто отвалятся и всё.     | |||
| 19
    
        Господин ПЖ 14.07.17✎ 13:25 | 
        (16) + что на мой взгляд является странным поведением для системы. сервер навернулся, а клиент на что-то надеется     | |||
| 20
    
        Господин ПЖ 14.07.17✎ 13:26 | 
        (18) так вот и проблема - падение сервера не заставляет клиентскую сессию "засыпать".     | |||
| 21
    
        PuhUfa 14.07.17✎ 13:27 | 
        (8) пофигуратор - администрирование - параметры ИБ
 (15) они любят оставлять все в терминале выключив комп. | |||
| 22
    
        Fish гуру 14.07.17✎ 13:27 | 
        (20) Он заставляет её отвалиться. Но не сразу, а через время.     | |||
| 23
    
        Fish гуру 14.07.17✎ 13:28 | 
        +(22) Но мы пользуемся обработкой, которая через консоль сеансы отключает. Хотя тоже не 100% надёжно. В редких случаях сеанс не удаётся срубить. :)     | |||
| 24
    
        Господин ПЖ 14.07.17✎ 13:28 | 
        (22) 
 вчера вечером эксперементы ставил 4 сеанса, не спят. стоп сервер ждем допустим 5 минут старт сервер 4 сеанса, не спят. ЗЫ сколько ждать то надо? | |||
| 25
    
        RomaH naïve 14.07.17✎ 13:29 | 
        (17) так поставь 30/30 - и посмотри что у тебя с сеансом в происходит
 на БСП - см (13) возможно у тебя в конфе нет подклюеных обработчиков | |||
| 26
    
        Господин ПЖ 14.07.17✎ 13:29 | 
        поставил таймеры 300/300
 4 коннекта, не спят стоп сервер ждем 6 минут старт сервер 4 коннекта, не спят | |||
| 27
    
        Господин ПЖ 14.07.17✎ 13:30 | 
        берешь и убиваешь такс руками с коннектом - сразу переходит в "спит" и через 5 минут выпиливается     | |||
| 28
    
        RomaH naïve 14.07.17✎ 13:30 | 
        (24) - так у тебя параметры - 1200 - это 20 минут - на засыпание
 и 86400 - это 24 часа - на отваливание после засыпания | |||
| 29
    
        Fish гуру 14.07.17✎ 13:30 | 
        (24) А фиг его знает, какой сейчас нужен таймаут. У нас пару раз ночью сервер падал - к утру все сеансы разорваны. А для регламентов мы пользуем обработку.     | |||
| 30
    
        Fragster гуру 14.07.17✎ 13:30 | 
        в бсп есть все для программного завершения работы пользователей     | |||
| 31
    
        Господин ПЖ 14.07.17✎ 13:34 | 
        (28) >- так у тебя параметры - 1200 - это 20 минут - на засыпание 
 в этом и проблема - если грохается сервер процессы не засыпают сколько не ставь. с одной стороны логично - сервер не действует - откуда он знает сколько клиент его ждет... | |||
| 32
    
        PuhUfa 14.07.17✎ 13:50 | 
        Такая же проблема... сейчас, в качестве костыля, просто тушу службу сервера на 1 час, что бы все отвалились, и потом запускаю бакап. 
 А вообще хочу допилить "робота", который будет заходить в предприятие и выгонять всех программно и потом уже запускать бакап. Правда хочу я это уже полгода и все времени нет, работает же "костыль" -) | |||
| 33
    
        Oftan_Idy 14.07.17✎ 13:54 | 
        (31) а что происходит на клиентах когда грохается сервер? 
 Они отваливаются? Процессы закрываются? | |||
| 34
    
        RomaH naïve 14.07.17✎ 14:23 | 
        (0) а чем не устраивает программное ЗавершитьРаботу по флагу?     | |||
| 35
    
        Господин ПЖ 14.07.17✎ 15:05 | 
        (33) из свойств процессов исчезает "рабочий процесс" сервера приложений, но они остаются - потом они или выпиливаются. или "перетираются" реальными процессами от тех же пользователей - по крайней мере утром юзеры заходят как обычно. А сервер ночью ругается что не может перевести базу в монопольный режим.     | |||
| 36
    
        Господин ПЖ 14.07.17✎ 15:11 | 
        (34) не хочу зависеть от состояния "рантайма" самого приложения
 (32) тушить на час... надо попробовать. но это слишком много... вроде на ИТС или у Гилева всплывала цифра в 20 минут - попробую столько задать для сна | |||
| 37
    
        PiterPrg 14.07.17✎ 15:23 | 
        Народ, это все-же программерский форум. А не сисадминский...
 Коннектор = Новый COMобъект("V83.ComConnector"); Агент = Коннектор.ConnectAgent(Сервер); Кластер = Агент.GetClusters().GetValue(0); Агент.Authenticate(Кластер, "", ""); Процессы = Агент.GetWorkingProcesses(Кластер); Для каждого РабочийПроцесс Из Процессы Цикл Если РабочийПроцесс.Running И РабочийПроцесс.Use Тогда РабочийПроцесс.AddAuthentication(СтрокаБаз.Пользователь, СтрокаБаз.Пароль); ......Ну там много довольно Суть в том что при помощи GetInfoBases() получаем список баз, находим свою. Потом получаем соединения GetInfoBaseConnections(ИнформационнаяБаза); и рвем их с помощью Disconnect(Соединение); Только не рвем это соединение, через которое управляем... Если Соединение.AppID = "COMConsole" Тогда Продолжить; КонецЕсли; Не знаю как сейчас, а на 8.3.8 служба падала :-) | |||
| 38
    
        PiterPrg 14.07.17✎ 15:59 | 
        (37) Да, забыл. Перед тем как рвать соединения. я завершал сеансы. А уже потом соединения(в основном для зависших сеансов)
 Сеансы = Агент.GetInfoBaseSessions(Кластер, ИнформационнаяБаза); Для каждого Сеанс Из Сеансы Цикл Если Сеанс.AppID = "SrvrConsole" Тогда Продолжить; КонецЕсли; Агент.TerminateSession(Кластер, Сеанс); | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |