Автоматическое удаление спящих сеансов на сервере 1С

30.08.16

База данных - Инструменты администратора БД

При нештатном завершении клиентской части программы 1С (конфигурации), а также если клиент долгое время не активен, то сеанс на сервере переходит в спящий режим. Далее он должен завершиться через указанное в настройках информационной базы количество времени. Но, к сожалению, это не так. Я столкнулся с проблемой, когда спящие сеансы никогда не завершаются. Настраивал засыпание пассивных сеансов через 600 секунд, а их завершение через 900 секунд. Несмотря на это спящие сеансы висят часами. Это побудило к написанию программы, которая запускается по расписанию планировщиком Windows и удаляет спящие сеансы на всех указанных администратором серверах 1С.

Скачать исходный код

Наименование Файл Версия Размер
V8Cleaner.7z
.7z 1,43Mb
83
.7z 1,43Mb 83 Скачать

      Поиск решения в сети, к сожалению, не дал нужного результата. Эта тема довольно часто обсуждается на разнообразных форумах, и чаще всего говорится, что вроде бы в каких-то релизах платформы проблема решена. Но в каком именно релизе решена и решена ли точно, мне не удалось выяснить. На моей работе используется 8.3.7.1790. Проблема зависших сеансов в этом релизе есть.

      Приложение реализовано в виде exe файла с названием V8SessionCleaner.exe. При выполнении этого файла с параметром командной строки “auto”, программа читает список серверов из конфигурационного файла, затем последовательно на каждом из этих серверов ищет спящие сеансы и удаляет (завершает) их. 

     Чтобы выполнять периодическое завершение сеансов, необходимо прописать список центральных серверов 1С в конфигурационном файле приложения (V8SessionCleaner.exe.config) и в планировщике создать задачу, которая по расписанию запускает V8SessionCleaner.exe ключом “auto”. Более подробно настройка и использование описаны в инструкции, входящей в дистрибутив.

       Отчет о выполнении и информация о возникших ошибках записывается в системный журнал «Приложение»

     Также можно запускать программу в режиме пользовательского интерфейса. Для этого надо запустить V8SessionCleaner.exe без аргументов командной строки или же с помощью ярлыка, который создается при установке. Этот режим использования программы нужен в большей степени для проверки работоспособности настроек.

На рисунке показан пользовательский интерфейс:

Программа выложена для свободного скачивания. Возможно кому-то еще станет полезной

удаление сеансов завершение сеансов сеансы 1с сеансов 1с спящие сеансы зависшие сеансы спящих сеансов зависших сеансов удаление сеансов удаление спящих сеансов удаление зависших сеансов завершение сеансов завершение спящих сеансов завершение зависших сеансов сеансы сеансов автоматическое удаление

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

14400 руб.

06.12.2023    4660    21    1    

47

Infostart УДиФ: Управление данными и формами 1С

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 руб.

10.11.2023    5609    15    2    

39

SALE! %

PowerTools

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2880 руб.

14.01.2013    180123    1095    0    

870

Ускоренное проведение документов в 1С (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    29026    86    149    

61

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Системный администратор Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61827    90    59    

74

Конфигурация Session Monitor

Мониторинг Инструменты администратора БД Системный администратор Платформа 1С v8.3 Россия Платные (руб)

Конфигурация Session Monitor предназначена для мониторинга сервера 1С с целью отслеживания чрезмерной нагрузки от конкретных сеансов и скорости реакции рабочих процессов.

1500 руб.

01.12.2020    14687    36    0    

51

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    11513    5    8    

9

Автоматическое резервное копирование любой клиент-серверной базы 1С в формате DT с удалением сеансов, архивацией, изменением расширения (8.3.14+, расширение)

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней.

6000 руб.

06.11.2012    70707    622    44    

80
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. lalexrus 30.08.16 14:19 Сейчас в теме
2. Gasanov.talib 23 30.08.16 16:06 Сейчас в теме
(1) lalexrus, Если возникнут сложности или пожелания при использовании, дайте знать
3. foxey 4 23.12.16 15:42 Сейчас в теме
После перехода на версию 8.3.9.2033 перестало работать.
При попытке обновить список выдает окошко со страшными письменами:
"Необрабатываемое исключение в приложении. При нажатии кнопки "продолжить" приложение проигнорирует ошибку и попытается продолжить работу. При нажатии кнопки "Выход" приложение немедленно завершит работу.
Не удалось получить фабрику класса COM для компонента с CLSID {181E893D-73A4-4722-B61D-D604B3D67D47} из-за следующей ошибки: 80041154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))."

На предыдущей версии 1С работало исправно.
Мне кажется, в версии 2033 (точнее, на одну версию раньше) платформа стала 64-битным приложением. И из-за этого такие вот косяки вылезли...
Как вылечить? Переустановка V8SessionCleaner не помогла...
5. aka Любитель XML 23.12.16 16:27 Сейчас в теме
(3) зарегистрирую com от новой платформы
6. foxey 4 24.12.16 10:19 Сейчас в теме
(5) А не подскажете, как это делается?
4. citicat 119 23.12.16 15:44 Сейчас в теме
7. Gasanov.talib 23 26.12.16 19:04 Сейчас в теме

Игорь, "80041154 Класс не зарегистрирован" однозначно говорит о том, что у вас требуемый COM компонент не зарегистрирован. В данном случае речь идет об компоненте "1CV83 COM Connector".
Обычно при корректной установке 1С этот компонент регистрируется. В вашем случае возможно были какие-то проблемы при установке или допущена ошибка.
Чтобы решить проблему надо либо еще раз (поверх установленной) установить 1С, выбрав опцию "исправить" при установке или же САМОСТОЯТЕЛЬНО зарегистрировать "1CV83 COM Connector".
Для самостоятельной регистрации откройте в текстовом редакторе вложенный файл, замените путь к comcntr.dll на ваш (найдите на вашем компьютере файл comcntr.dll и замените путь). Сохраните изменения и запустите командный файл ОБЯЗАТЕЛЬНО нажав правую кнопку мыши и выбрав "Run as administrator".
Если все правильно вы должны увидеть сообщение типа: DllRegisterServer in <путь>\comcntr.dll succeeded. Если у вас Windows русский, то сообщения могут быть на русском.


Прикрепленные файлы:
RegisterV8ComConnector.7z
8. foxey 4 28.12.16 09:22 Сейчас в теме
(7) Вот смотрите, Талиб.
Ручками провожу регистрацию на сервере: regsvr32 "C:\Program Files\1cv8\8.3.9.2033\bin\comcntr.dll"
Сообщает мне, что регистрация успешно прошла.
Перезапускаю сеанс удаленного рабочего стола, пробую утилитку Вашу и снова та же песенка о незарегистрированном классе.
Может надо сервер перезапускать? Но это возможно только ночью сделать.
А не может быть причиной такой неприятности из-за того, что теперь DLL находится в другой папке? У Вас "Program Files (x86)", у меня "Program Files". Хотя нет, не может быть это причиной.
Update: Ах да, забыл сказать. Я это делаю из-под учётки Администратора.
9. foxey 4 28.12.16 10:11 Сейчас в теме
Update 2: Попробовал провести восстановление установленной 1С, пришлось перезапустить сервер. Так вот, не помогло...
Все же думаю, что причиной неудач может быть то, что установлен 64-битный клиент.
10. Gasanov.talib 23 28.12.16 13:48 Сейчас в теме
(9)
игорь,
Надо убедиться, что утилита удаления сеансов запущена на том же компьютере на котором Вы регистрируете comcntr.dll. Если это так и проблемы все равно есть, тогда надо

1.Зарегистрироть comcntr.dll потом в реестре windows поискать по ключу 181E893D-73A4-4722-B61D-D604B3D67D47, найти раздел где регистрирован comcntr.dll и смотреть нет ли там проблем.

что касается 64-битного клиента, то не могу утверждать что проблема в этом. У я программировал утилиту и тестировал как раз на 64-битном Windows.

Вы можете постучаться мне в скайп, если хотите. Так может быстрее получится решить проблему.

Скайп Gasanov2003
11. Gasanov.talib 23 29.12.16 12:46 Сейчас в теме
Проблема действительно была, связана с тем, что текущая версия утилиты работает только с 32 битным клиентом 1С. Если установить 1С клиент 64, то программа не работает и выдает ошибку описанную Игорем выше.

В ближайшее время выложу 64 битную версию утилиты.
12. пользователь 01.02.17 16:39
Сообщение было скрыто модератором.
...
13. Octopus 337 28.02.17 08:40 Сейчас в теме
Будет ли реализована возможность завершения конкретной сессии, а не всего списка целиком?
14. Gasanov.talib 23 28.02.17 23:03 Сейчас в теме
Да, реализую в новом релизе, если это нужная возможность.
Правильно я понимаю, речь идет о возможности завершения выбранной сессии когда программа запущена в режиме пользовательского интерфейса?
15. Octopus 337 15.03.17 09:57 Сейчас в теме
(14) Не обязательно, подвиснуть может и конфигуратор. Вопрос вызван следующей ситуацией: сервер с множеством баз, понадобилось убрать "висяки" только одной из них. Кстати, сортировка по колонкам тоже была бы весьма удобна.
16. DrBlack 23 15.03.17 10:06 Сейчас в теме
Столкнулся с аналогичной проблемой, проблему решили с помощью регламентного задания, которое запускается раз в сутки (нам этого достаточно) и грохает все сеансы, вот весь код (актуально для УПП):
Процедура ЗавершениеСеансовПользователей() Экспорт	
	ПараметрыАдминистрированияИБ = СоединенияИБ.ПолучитьПараметрыАдминистрированияИБ();	
	СоединенияИБ.ОтключитьСоединенияИБ(ПараметрыАдминистрированияИБ);	
КонецПроцедуры

Enjoy :)
IT_GG; KazanKokos; +2 Ответить
17. user1498761 25.11.20 16:12 Сейчас в теме
как решить ошибку:
"Ошибка операции администрирования
Администратор кластера не аутентифицирован"
При этом все настроено по инструкции
18. 1C8 17 27.05.21 04:38 Сейчас в теме
Здравствуйте.
С установкой и настройкой вроде бы все получилось. 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 не помогает. Приходится все ручками вычищать.
19. Gasanov.talib 23 27.05.21 16:01 Сейчас в теме
(18)
Добрый день!

Версия платформы 1С (библиотеки comcntr.dll) на машине, где запускается V8SessionCleaner.exe 32 или 64?
21. 1C8 17 28.05.21 04:56 Сейчас в теме
20. Gasanov.talib 23 27.05.21 16:02 Сейчас в теме
(18)
V8SessionCleaner.exe


Нужна дополнительная информация. Постучитесь мне в скайп (Gasanov2003), так проще будет решить.
22. vano6666 03.09.21 10:19 Сейчас в теме
Такой вопрос а с серверами на разных платформах и разнесенных на разные порты. Работает?
Что то не как не получаеться добавить еще один сервер
23. user1788316 02.06.22 13:30 Сейчас в теме
Добрый день! Пытаюсь настроить данную утилиту на сервере, пока просто в ручном режиме без планировщика запускаю, но выдает ошибку:

System.Runtime.InteropServices.COMException (0x8000401A): Не удалось получить фабрику класса COM для компонента с CLSID {181E893D-73A4-4722-B61D-D604B3D67D47} из-за следующей ошибки: 8000401a Процесс сервера не может быть запущен, так как указана неправильная идентификация. Проверьте правильность указания имени пользователя и пароля. (Исключение из HRESULT: 0x8000401A).

В администрировании серверов 1С нет пользователя-администратора, там пусто, поэтому по идее должно работать под административным пользователем Windows. Так же 1С у нас 64-битная, но я так понимаю утилита должна работать на всех версиях? Подскажите в чем проблема может быть?
Прикрепленные файлы:
Оставьте свое сообщение