Не завершаются спящие сеансы 1с
При нештатном завершении клиентской части программы 1С (конфигурации), а также если клиент долгое время не активен, то сеанс на сервере переходит в спящий режим. Далее он должен завершиться через указанное в настройках информационной базы количество времени. Но, к сожалению, это не так. Я столкнулся с проблемой, когда спящие сеансы никогда не завершаются. Настраивал засыпание пассивных сеансов через 600 секунд, а их завершение через 900 секунд. Несмотря на это спящие сеансы висят часами. Это побудило к написанию программы, которая запускается по расписанию планировщиком Windows и удаляет спящие сеансы на всех указанных администратором серверах 1С.
Поиск решения в сети, к сожалению, не дал нужного результата. Эта тема довольно часто обсуждается на разнообразных форумах, и чаще всего говорится, что вроде бы в каких-то релизах платформы проблема решена. Но в каком именно релизе решена и решена ли точно, мне не удалось выяснить. На моей работе используется 8.3.7.1790. Проблема зависших сеансов в этом релизе есть.
Приложение реализовано в виде exe файла с названием V8SessionCleaner.exe. При выполнении этого файла с параметром командной строки “auto”, программа читает список серверов из конфигурационного файла, затем последовательно на каждом из этих серверов ищет спящие сеансы и удаляет (завершает) их.
Чтобы выполнять периодическое завершение сеансов, необходимо прописать список центральных серверов 1С в конфигурационном файле приложения (V8SessionCleaner.exe.config) и в планировщике создать задачу, которая по расписанию запускает V8SessionCleaner.exe ключом “auto”. Более подробно настройка и использование описаны в инструкции, входящей в дистрибутив.
Отчет о выполнении и информация о возникших ошибках записывается в системный журнал «Приложение»
Также можно запускать программу в режиме пользовательского интерфейса. Для этого надо запустить V8SessionCleaner.exe без аргументов командной строки или же с помощью ярлыка, который создается при установке. Этот режим использования программы нужен в большей степени для проверки работоспособности настроек.
На рисунке показан пользовательский интерфейс:
Программа выложена для свободного скачивания. Возможно кому-то еще станет полезной
Специальные предложения
На предыдущей версии 1С работало исправно.
Мне кажется, в версии 2033 (точнее, на одну версию раньше) платформа стала 64-битным приложением. И из-за этого такие вот косяки вылезли.
Как вылечить? Переустановка V8SessionCleaner не помогла.
Update 2 : Попробовал провести восстановление установленной 1С, пришлось перезапустить сервер. Так вот, не помогло.
Все же думаю, что причиной неудач может быть то, что установлен 64-битный клиент.
(9)
игорь,
Надо убедиться, что утилита удаления сеансов запущена на том же компьютере на котором Вы регистрируете comcntr.dll. Если это так и проблемы все равно есть, тогда надо
1.Зарегистрироть comcntr.dll потом в реестре windows поискать по ключу 181E893D-73A4-4722-B61D-D604B3D67D47, найти раздел где регистрирован comcntr.dll и смотреть нет ли там проблем.
что касается 64-битного клиента, то не могу утверждать что проблема в этом. У я программировал утилиту и тестировал как раз на 64-битном Windows.
Вы можете постучаться мне в скайп, если хотите. Так может быстрее получится решить проблему.
Проблема действительно была, связана с тем, что текущая версия утилиты работает только с 32 битным клиентом 1С. Если установить 1С клиент 64, то программа не работает и выдает ошибку описанную Игорем выше.
В ближайшее время выложу 64 битную версию утилиты.
Да, реализую в новом релизе, если это нужная возможность.
Правильно я понимаю, речь идет о возможности завершения выбранной сессии когда программа запущена в режиме пользовательского интерфейса?
(14) Не обязательно, подвиснуть может и конфигуратор. Вопрос вызван следующей ситуацией: сервер с множеством баз, понадобилось убрать "висяки" только одной из них. Кстати, сортировка по колонкам тоже была бы весьма удобна.
Столкнулся с аналогичной проблемой, проблему решили с помощью регламентного задания, которое запускается раз в сутки (нам этого достаточно) и грохает все сеансы, вот весь код (актуально для УПП):
как решить ошибку:
"Ошибка операции администрирования
Администратор кластера не аутентифицирован"
При этом все настроено по инструкции
Здравствуйте.
С установкой и настройкой вроде бы все получилось. GUI запускается, к серверу подключается, сеансы видит.
А вот по кнопке завершить спящие, вылетает с крэшем.
Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: V8SessionCleaner.exe
Версия приложения: 1.0.0.0
Отметка времени приложения: 57c51374
Имя модуля с ошибкой: comcntr.dll
Версия модуля с ошибкой: 8.3.13.1644
Отметка времени модуля с ошибкой: 5bf20e79
Код исключения: c0000005
Смещение исключения: 00030db4
Версия ОС: 6.1.7601.2.1.0.18.10
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789
Имя сбойного приложения: V8SessionCleaner.exe, версия: 1.0.0.0, отметка времени: 0x57c51374
Имя сбойного модуля: comcntr.dll, версия: 8.3.13.1644, отметка времени 0x5bf20e79
Код исключения: 0xc0000005
Смещение ошибки: 0x00030db4
Идентификатор сбойного процесса: 0x4304
Время запуска сбойного приложения: 0x01d75290a03bbd4e
Путь сбойного приложения: C:\Program Files (x86)\V8.Lab\V8SessionCleaner\V8SessionCleaner.exe
Путь сбойного модуля: C:\Program Files (x86)\1cv8\8.3.13.1644\bin\comcntr.dll
Код отчета: 4141d26f-be89-11eb-98f4-001e6783d4b5
Приложение: V8SessionCleaner.exe
Версия платформы: v4.0.30319
Описание. Процесс был завершен из-за необработанного исключения.
Сведения об исключении: System.AccessViolationException
в V83.IServerAgentConnection.TerminateSession(V83.IClusterInfo, V83.ISessionInfo)
в V8SessionCleaner.MainForm.GetDeadSessions(System.String, Boolean)
в V8SessionCleaner.MainForm.Do(Boolean)
в V8SessionCleaner.Program.Main()
ОС - Windows Server 2008 R2 Enterprise Servis Pack 1 х64
Жалко. Програмка то полезная. Выкинуть спящие сеансы даже Reboot не помогает. Приходится все ручками вычищать.
Доброго времени суток.. а у кого то работает эта функция ?
В конфе - администрирование Параметры информационной базы
Там есть время засыпания и время завершение спящего сеанса.
При вводе туда "секунд" и даже перезагрузки сервера(служб). Все равно сеанс не засыпает, ну либо засыпает не суть. Но не завершается.
(1) на пустой конфигурации? (т.е. создать конфу чистую - добавить пользователя)
ибо есть подозрение, что типовые на БСП постоянно от пользователя "дергают" базу - поэтому никогда не засыпают
[имхо]
"Спящий" сеанс - это когда юзверь спит, а есть ещё "зависшие" сеансы - они не спят, они висят в ожидании. И в современных платформах такие сеансы постоянно имеют активность.
Просто встал вопрос как выкидывать неактивных пользователей с баз.. при условии что они работают не на РДП (там в настройках рдп или сервера не помню таких кикать можно), а на своих компах.
И пришел к выводу что типовые средства 1с этого не делают, хотя вроде как должны
Было бы неплохо регламентные задания настраивать на пользователя, который интерактивно с базой не работает. В расписании регламентных заданий при этом предусматривать технологическое окно.
При этом упп переписаное, там есть несколько документов на УФ для пользователей которые должны работать только с ними и через тонкий клиент. или веб если дома сидят.. но таких не много
Если не засыпает, значит не является пассивным с точки зрения платформы. И тогда он естественно не будет засыпать и закрываться.
Чаще всего пассивными являются только сеансы с разорванным соединением. Если программа открыта, то у нее скорее всего будет оставаться какая-то активность и сеанс будет продолжать считаться активным.
А вот если соединение с сеансом разорвано длительное время, тогда платформа помечает сеанс как спящий и отбирает у него лицензию. Принудительно как-то бороться со спящими сеансами особого смысла не имеет, все равно они кушать не просят.
(4) Я делал своё регламентное задание, которое рубит всех в определенное время.
"Все кто не спрятался", т.е. не вышел из базы вечером, тупо рубятся в час ночи. (всё отлично работает)
(10) Вот Вам и ответ на Ваш вопрос. Имхо с обратной совместимостью что-то неладное в платформах творится. У меня на УПП аналогичные проблемы: зависают сеансы и соединения, когда юзверь завершает сеанс и выключает комп; когда фоновые задания "вешаются".
(13) Это как раз не проблема, сделать задание которое рубит всех после определенного время кто не вышел из базы поле окончания рабочего дня. Да и если нужно что бы все вышли, можно и через Админку 1с выкинуть на сервере.
Сейчас проблема в людях которые 1с открыли, поработали 5 минут, и ушли по каким то делам. или на обед или еще что-то. они в базе висят, бездельно, ключи занимают, у не которых по 3-4 базы открыто, а их нет по пол дня на рабочем месте грубо говоря. а пользователей 150+
(2) В моем понимании наоборот, "спящий" сеанс, это когда от клиента ни одного пакета не приходит. Например, комп в сон отправили.
(17) там вроде пакеты всегда идут до 4 байт если верить форумам, как раз настройки выше должны рубить сеанса по времени если определенное количество секунд пакеты выше 4 байт не идут от пользователя.
(16) Это нужно решать административными мерами. Или переводить таких на RDP, нагрузки они не добавят, даже если не работают.
Если даже ты найдешь способ их все рубить, обязателшьно найдутся "очень важные" пользователи, которых рубить нельзя. Да еще их состав будет меняться периодически.
При 150+ проще лицензий докупить.
(4) Платформа тебе в этом никак не поможет и не "должна". Потому как технически минимальная активность в сеансе как правило остается даже если пользователь не работает. А "активность пользователя" - вопрос очень расплывчатый. Может, он час инфу на экране формировал а теперь час ее напряженно анализирует. А предупреждения не увидел, потому что отвернулся чайку заварить.
(16) Это нужно ходить с палкой и по рукам бить, а так вы никогда не искорените это, просто "борьба с ветряными мельницами".
Вы обратите внимания на пользователей, когда у них по в браузере открыто более 20-ти вкладок. Я иногда спрашивал таких, зачем, а потом почитаю (на неделе или в сл.месяце). Но каждая вкладка тоже ресурсы "жрёт". Им пофигу.
(21)
нашел на форуме
Через определенное время допустим каждый час или хотя бы 3 раза в день выдавать вопрос о надобности программы если человек через какое то время не ответил на вопрос, то закрывать программу.
А для "очень важных пользователей" можно создать роль допустим простую и добавить им ну и добавлять ее новым очень важным пользователям. И делать проверку на эту роль, что если у пользователя есть эта роль, то не задавать ему вопросов
Ну как то так
БП ЗП каждой по 5-ь. 5-ь юр лиц, ведутся в разных БП ЗП
ДокументоОборот
(28) Будет негатив, когда пользователь оставил на редактирование, чтобы потом доделать (отвлекли допустим). И тут бах, оно всё закрылось. :)
В своё время, помню, после одобрения руководства, написал фоновое, которое раз в пол-часа открывало окно с дурацкими советами юзверям - как бы благое дело :) Если юзверь не закрывал окно в течении некоторого времени - сеанс аварийно завершался. Начались жалобы, у некоторых не сохранились "архиважные" данные. проблема обострилась и были выделены финансы на достаточное количество лицензий.
ДокументоОборот там тупо сидят. аля ждут когда им придет какое нибудь согласования.. могут открыть согласовать 1 документ и сидеть там целый день
УПП там ситуация лучше, но человек может уйти на совещания допустим часа на 2-а или вообще поработать 2 часа далее ему не нужна и не закрыть.
БП и ЗП ладно там бухналтера хотя то же откроют по 4 базы а работают в двух, а остальные две поработали час и не закрыли
(31) Ну так время то поставить адекватное.. час, два.. Если человек что то открыл и его отвлекли на 2 часа значит явно был не супер важный документ который нужно быстро сделать. сделает еще раз
Если юзверь хочет, чтобы не пропали редактируемые данные - он их должен периодически сохранять. Ваш КО.
(39) Сохранения редактируемого документа кнопочкой записать.. если ты допустим решил отвлеччся на час.
это то же самое.. как заставить человека закрыть на этот час программу за ненадобностью.. в большенстве случаев он тупо оставляет все открытым и уходит, особенно более "старое" поколение. молодые вроде более адекватны в этом плане
(33) Кардинально это решается только лицензированием "по ядрам сервера" или "по клиентским устройствам". Все крупные вендоры к этому пришли, скорее всего и 1С придет.
(38) Вот так программист учит жадных и недалёких работодателей. Нереально надеяться посадить сотню работников в 1С, имея два ключа по 25 лицензий. Посадить то можно, но работать им будет сложно. «А сегодня в завтрашний день не все могут смотреть. Вернее смотреть могут не только лишь все, мало кто может это делать»
(28) >> Через определенное время допустим каждый час или хотя бы 3 раза в день выдавать вопрос о надобности программы если человек через какое то время не ответил на вопрос, то закрывать программу.
Даже при большом таймауте довольно быстро столкнётесь со случаем, когда пользователю нужен был открытый сеанс, не смотря на то, что он в это время работал в другом окне (программе/базе).
(35) >> Если человек что то открыл и его отвлекли на 2 часа значит явно был не супер важный документ.
Ложное умозаключение.
Сплошь и рядом бывает, когда пользователь заполнял два часа какую-нибудь инвентаризацию, но его отвлекли на какое-нибудь совещание или срочное задание от главбуха по другой базе. Тупо забыл сохранить промежуточный вариант этой инвентаризации и работа двух часов накрылась медным тазом.
Подобная "экономия" на лицензиях абсолютно вымышленная. Трудозатраты людей, которые будут прямо или косвенно страдать от неё в реальности значительно выше.
Пользователь конечно животное неприхотливое и привыкает к любой дичи. Только дичь от этого не перестаёт быть дичью.
(46) Поэтому я и дописал, что проверка на "роль" перед этим.
У нас есть пользователи которые не делают супер важных документов аля отчеты или инвентаризацию. И не заполняют по 2 часа какие то табличные части
(46) И с другой стороны если у них пару раз так закроется. они на третий раз будут знать и как минимум сохранят свой важный и долгий документ. А если не согласны пусть к руководству идут и спорят.. не моя же идея
Надо анализировать количество используемых лицензий и при достижении критического значения включать режим дуэли.
"Поздравляю! В связи с исчерпанием свободных лицензий вы выиграли участие в групповой дуэли! Также в дуэли принимают участие . Три участника последние нажавшие на спусковой крючок будут застрелены! Время пошло!". Ну и результаты дуэли тоже обязательно оглашать надо. Таблицу рекордов и список погибших.
(48) Костыль для костыля.
После таких и появляется мнение о том, что "эта ваша жёлтая программа - не нормальный софт, а поделка русских криворуких прогов".
Ни кому в мире не приходит в голову разработать что-то, чтобы закрывался excel или word, если пользователь какое-то время ничего не делает в окне этих программ.
И только 1С-ники героически строят велосипеды с треугольными колёсами, от езды на которых всех тошнит.
(50) + Ну и для погибших ограничить минимальное время респауна. Чтоб не превращалось в ледовое побоище.
(52) Отличная идея кстати) думаю людей это повеселит )) еще отчет им сделать по датам, кто в какой день чего добился в дуэли ))
имхо, пока программист решает проблему лицензий, как разделить неделимое, как натянуть сову на глобус - это его проблемы. Ну ещё пользователей. Но не руководства. А нужно сделать так, чтобы голова болела не у прогера и юзверей, а у тех, кто принимает решения.
(54) Тогда с другой стороны.. А пользователи зашедшие в базу, разве ресурсов не едят ?
если их 300. а работают реально допустим 150. А 150 тупо висит (ну кроме ресурсов лицензий)
(56) Так там же время.. обед фиксированный 1 час, туалет больше 1 часа, лучше дома тогда остаться если проблема ))
Если таймаут будет 1-30, то они то же должны успеть участвовать)
(55) И откуда ты эту статистику выдумываешь?
В результате всех твоих изысканий, разработок и издевательств над пользователями выяснится, что действительно "тупо висит" сеансов 10-20. А все остальные реально работают.
Но кого-то из работающих ты заставишь пару раз закрыть программу только ради того, чтобы через час её снова открыть.
Реально едят ресурсы те, кто занимается подобного рода разработками. ИМХО.
Надо завести журнал. Хранить у секретаря. Для получения разрешения на сеанс работы пользователя в программе 1С. С графами "Дата начала работы", "Период работы", "Время окончания работы", "Подпись дата, разрешено", "Подпись, дата, согласовано", "Подпись, дата, утверждено", "Подпись, дата, отклонено", "Подпись, дата .
[навеяло прошлым, когда в особом отделе стоял единственный компьютер с доступом в интернет и журналом регистрации работы. Вот ведь ж были же такие времена]
В клиент-серверном варианте работы информационной базы, при некорректном завершении работы программы, на сервере могут оставаться не завершенные сеансы пользователей. В старых версиях платформы (до версии 8.3.5) такие сеансы автоматически удалялись через короткий промежуток времени.
В новых версиях платформы, время по прошествии которого сеанс уходит в спящий режим и время через которое удаляется сеанс, необходимо настраивать самостоятельно. По умолчанию время ухода в спящий режим составляет 1200 секунд или 20 минут, а время удаления сеансов 86400 секунд или 1 сутки. Таким образом "спящие" сеансы доступны еще в течение суток. Поэтому, при переходе на новую платформу можно заметить увеличение количества "зависших" сеансов. А на самом деле, это не "зависшие" сеансы, а просто прошло менее суток по истечении которых они должны удалиться.
Интервалы засыпания и завершения сеансов можно настроить в конфигураторе. Для этого в главном меню нужно перейти: Администрирование->Параметры информационной базы.
Сеанс переходит в режим "спящего" если пользователь не пользуется программой в течении установленного в настройках времени. Когда пользователь работает в программе, то автоматически отправляется на сервер подтверждение активности пользователя. При нештатном выключении программы сеансы так же переходят в спящий режим. При возобновлении работы с программой сеанс из спящего режима переходит в активный.
Комментарии (1)
1. progv8 04.10.2017 10:22 |
Висело с десяток не активных сеансов. После уменьшения времени засыпания пассивного сеанса и времени завершения спящего сеанса, сеансы так и остались висеть. Помогло только принудительное удаление в кластере серверов. Скорее всего настройки вступят в силу после перезапуска сервера или для новых сеансов. |
При нештатном завершении клиентской части программы 1С (конфигурации), а также если клиент долгое время не активен, то сеанс на сервере переходит в спящий режим. Далее он должен завершиться через указанное в настройках информационной базы количество времени.
Но, к сожалению, это не так. Я столкнулся с проблемой, когда спящие сеансы никогда не завершаются. Настраивал засыпание пассивных сеансов через 600 секунд, а их завершение через 900 секунд. Несмотря на это спящие сеансы висят часами. Это побудило к написанию программы, которая запускается по расписанию планировщиком Windows и удаляет спящие сеансы на всех указанных администратором серверах 1С.
На предыдущей версии 1С работало исправно.
Мне кажется, в версии 2033 (точнее, на одну версию раньше) платформа стала 64-битным приложением. И из-за этого такие вот косяки вылезли.
Как вылечить? Переустановка V8SessionCleaner не помогла.
Update 2 : Попробовал провести восстановление установленной 1С, пришлось перезапустить сервер. Так вот, не помогло.
Все же думаю, что причиной неудач может быть то, что установлен 64-битный клиент.
(9)
игорь,
Надо убедиться, что утилита удаления сеансов запущена на том же компьютере на котором Вы регистрируете comcntr.dll. Если это так и проблемы все равно есть, тогда надо
1.Зарегистрироть comcntr.dll потом в реестре windows поискать по ключу 181E893D-73A4-4722-B61D-D604B3D67D47, найти раздел где регистрирован comcntr.dll и смотреть нет ли там проблем.
что касается 64-битного клиента, то не могу утверждать что проблема в этом. У я программировал утилиту и тестировал как раз на 64-битном Windows.
Вы можете постучаться мне в скайп, если хотите. Так может быстрее получится решить проблему.
Проблема действительно была, связана с тем, что текущая версия утилиты работает только с 32 битным клиентом 1С. Если установить 1С клиент 64, то программа не работает и выдает ошибку описанную Игорем выше.
В ближайшее время выложу 64 битную версию утилиты.
Да, реализую в новом релизе, если это нужная возможность.
Правильно я понимаю, речь идет о возможности завершения выбранной сессии когда программа запущена в режиме пользовательского интерфейса?
(14) Не обязательно, подвиснуть может и конфигуратор. Вопрос вызван следующей ситуацией: сервер с множеством баз, понадобилось убрать "висяки" только одной из них. Кстати, сортировка по колонкам тоже была бы весьма удобна.
Столкнулся с аналогичной проблемой, проблему решили с помощью регламентного задания, которое запускается раз в сутки (нам этого достаточно) и грохает все сеансы, вот весь код (актуально для УПП):
как решить ошибку:
"Ошибка операции администрирования
Администратор кластера не аутентифицирован"
При этом все настроено по инструкции
Здравствуйте.
С установкой и настройкой вроде бы все получилось. GUI запускается, к серверу подключается, сеансы видит.
А вот по кнопке завершить спящие, вылетает с крэшем.
Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: V8SessionCleaner.exe
Версия приложения: 1.0.0.0
Отметка времени приложения: 57c51374
Имя модуля с ошибкой: comcntr.dll
Версия модуля с ошибкой: 8.3.13.1644
Отметка времени модуля с ошибкой: 5bf20e79
Код исключения: c0000005
Смещение исключения: 00030db4
Версия ОС: 6.1.7601.2.1.0.18.10
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789
Имя сбойного приложения: V8SessionCleaner.exe, версия: 1.0.0.0, отметка времени: 0x57c51374
Имя сбойного модуля: comcntr.dll, версия: 8.3.13.1644, отметка времени 0x5bf20e79
Код исключения: 0xc0000005
Смещение ошибки: 0x00030db4
Идентификатор сбойного процесса: 0x4304
Время запуска сбойного приложения: 0x01d75290a03bbd4e
Путь сбойного приложения: C:\Program Files (x86)\V8.Lab\V8SessionCleaner\V8SessionCleaner.exe
Путь сбойного модуля: C:\Program Files (x86)\1cv8\8.3.13.1644\bin\comcntr.dll
Код отчета: 4141d26f-be89-11eb-98f4-001e6783d4b5
Приложение: V8SessionCleaner.exe
Версия платформы: v4.0.30319
Описание. Процесс был завершен из-за необработанного исключения.
Сведения об исключении: System.AccessViolationException
в V83.IServerAgentConnection.TerminateSession(V83.IClusterInfo, V83.ISessionInfo)
в V8SessionCleaner.MainForm.GetDeadSessions(System.String, Boolean)
в V8SessionCleaner.MainForm.Do(Boolean)
в V8SessionCleaner.Program.Main()
ОС - Windows Server 2008 R2 Enterprise Servis Pack 1 х64
Жалко. Програмка то полезная. Выкинуть спящие сеансы даже Reboot не помогает. Приходится все ручками вычищать.
После перехода с платформы 8.2 на платформу 8.3 многие программисты и системные администраторы недоумевают, видя в консоли огромное количество зависших сеансов пользователей. Но не так страшен черт, как его малюют. Давайте попробуем разобраться.
Итак, картина выглядит примерно следующим образом:
Как мы видим, у сеансов отсутствует активное соединение и рабочий процесс. На каждого пользователя может быть запущено сразу несколько сеансов, но только один из них активный. Сеансы висят сутками и многих это пугает. Администраторы начинают принудительно их завершать. Но, на самом деле, страшного в этом ничего нет. Не многие двигают полосу прокрутки в списке сеансов вправо, где можно найти интересную колонку под названием «Спящий».
Так что же такое «спящий сеанс»?
Для повышения устойчивости работы клиентских приложений, в версии 8.3.5 реализовано удержание сеанса при оставлении программы без работы. Теперь, при длительной не активности или при засыпании клиентского компьютера, сеанс не завершается, а переходит в «спящий режим». При появлении активности, сеанс возобновляется.
Сеанс переходит в спящий режим в двух случаях:
- При нештатном разрыве соединения, назначенного сеансу (для толстого клиента, внешнего соединения, тонкого клиента при прямом соединении с сервером). При физическом отключении сети сервер обнаруживает разрыв соединения с клиентским приложением в течение 2-3 минуты.
- По истечении интервала времени, в течение которого клиентское приложение, использующее сеанс, не проявляется активности (для веб-клиента и тонкого клиента при подключении через веб-сервер). Если компьютер клиента не находится в режиме энергосбережения, и клиентское приложение бездействует (не выполняет никаких действий пользователя), то оно периодически вызывает сервер «1С:Предприятия» с интервалом 5-10 минут для поддержания активности сеанса. Поэтому не рекомендуется устанавливать время засыпания сеанса меньше 10 минут.
Любая активность приводит к пробуждению сеанса.
Спящий сеанс завершается в следующих случаях:
- По истечении интервала времени, который определяет время жизни спящего сеанса.
- Если блокировки, установленные спящим сеансом, конфликтуют с блокировками, которые пытаются установить активные сеансы.
Настройки времени засыпания сеанса и времени завершения спящего сеанса доступны в настройках ИБ (в конфигураторе меню: Администрирование - параметры информационной базы) .
По умолчанию время засыпания пассивного сеанса равно 20 минут, время завершения спящего сеанса - 24 часа.
Читайте также: