При совместной работе множества пользователей в клиент-серверном режиме 1С:Предприятия часто возникает ситуация, когда сотрудники оставляют программу открытой, уходя на обед или покидая рабочее место в конце дня. Зависшие и неактивные сеансы занимают драгоценные клиентские лицензии, потребляют оперативную память сервера приложений и могут блокировать выполнение регламентных и административных процедур. Разберем, как правильно организовать завершение сеансов неактивных пользователей, какие штатные и внешние механизмы для этого существуют, а также почему сеансы могут самопроизвольно «просыпаться».
В платформе 1С:Предприятие 8.3 реализован встроенный механизм управления жизненным циклом неактивных сеансов. На уровне свойств информационной базы в консоли администрирования кластера серверов 1С предусмотрены ключевые параметры:
Рассмотрим типовую практику настройки интервалов. На практике часто применяют схему: 10 минут (600 секунд) для отправки сеанса в спящий режим и 2 часа (7200 секунд) для полного отключения сеанса. Это позволяет оперативно освобождать лицензии при кратковременном отсутствии сотрудников, но не выбивать их из базы при стандартных перерывах.
Нередко администраторы сталкиваются с ситуацией, когда пользователь физически отсутствует за компьютером, однако сеанс либо вовсе не переходит в статус спящего, либо постоянно просыпается. Выясним основные технические причины такого поведения:
ПодключитьОбработчикОжидания. Процедуры, проверяющие почту, напоминания, задачи или выполняющие фоновый опрос торгового оборудования, регулярно инициируют вызовы к серверу и тем самым сбрасывают счетчик неактивности.Штатный механизм платформы принудительно прерывает сеанс, из-за чего несохраненные данные в открытых формах пользователя могут быть потеряны. Кроме того, стандартный механизм не ведет подробного журнала о том, какой именно пользователь был отключен по таймауту. Разберем дополнительные инструменты:
rac и сервера администрирования ras можно по расписанию получать список всех сеансов, анализировать время последнего серверного вызова и выборочно вызывать команду завершения сеанса terminate-session с логированием действий в файл.Важно помнить, что спящий сеанс 1С освобождает клиентскую лицензию только тогда, когда раздача лицензий настроена через сервер 1С:Предприятия (сетевой аппаратный ключ или многопользовательская программная лицензия кластера). Если на рабочем месте пользователя используется локальный HASP-ключ или однопользовательская программная лицензия, активированная на клиентском компьютере, засыпание сеанса лицензию не освободит до полного закрытия процесса клиентского приложения.