Удаление спящих сеансов

16.12.19

База данных - Администрирование СУБД

Удаление сеансов, имеющих статус "спящий".

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Удаление спящих сеансов:
.epf 8,00Kb
18 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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

Тестировалось на УПП 1.3.123.3, Платформа/сервер 8.3.15.1700.

Вступайте в нашу телеграмм-группу Инфостарт

УПП спящие зависшие сеансы сервер блокировки

См. также

Администрирование СУБД Системный администратор Программист Бесплатно (free)

5,5 тысячи пользователей в единой базе 1С, розница в режиме 24/7 и SLA 99,98% – в таких условиях любая авария быстро превращается в очереди на кассах, потерю денег и давление со стороны бизнеса. Показываем, как выстроить процесс аварийно-восстановительных работ: от первых алертов и базового скрининга системы до подключения команды, проверки гипотез и дебрифа после инцидента. Разбираем, как метрики, дашборды, техжурнал, Zabbix, Prometheus, Grafana, Telegram-боты и скрипты помогают не гадать, а быстро находить причину проблемы. На реальных авариях объясняем, почему «быстро» не должно означать «рискованно», как работа над ошибками снижает панику и почему каждая авария может сделать систему надежнее.

11.08.2026    1105    jul.dolganova    8    

20

Администрирование СУБД Системный администратор 1С 8.3 Абонемент ($m)

Пароль пользователя СУБД лежит в 1CV8Clst.lst обратимо: кто читает папку srvinfo — достаёт пароли SQL всех баз кластера, минуя права 1С. Обработка показывает, у каких баз пароль извлекается, помечает слабые и выдаёт план защиты. К СУБД не подключается, ничего не пишет — только читает файл.

10 стартмани

06.08.2026    556    11    nedomolkov.ivan    0    

7

Администрирование СУБД Системный администратор 1С 8.3 Бесплатно (free)

Прогнал набор диагностических скриптов на двух рабочих базах: боевой с 580 сеансами и малонагруженной. Разбираю пять находок: статистика 97-дневной давности, 598 запросов со сканами, журнал транзакций в 73 % от данных, tempdb в один файл и 81 % ожиданий на параллелизме, который чинить не надо. Плюс три грабли, из-за которых самописный диагностический скрипт падает на чужом сервере. Семь рабочих скриптов внутри, копируются в SSMS как есть.

05.08.2026    784    nedomolkov.ivan    8    

7

Администрирование СУБД Журнал регистрации Системный администратор Программист 1С 8.3 Бесплатно (free)

Журнал регистрации на нагруженной базе перестаёт открываться: файлы растут на гигабайты в день, просмотр виснет, история недоступна. Рассказываю, как мы вынесли журнал трёх продуктивных баз в ClickHouse: 35 млрд событий, поиск всех ошибок за сутки — 0,11 секунды, привычная форма журнала для пользователей и падение числа ошибок в проде в 23 раза за полгода. Архитектура, схема таблицы, грабли интеграции и все цифры с прода.

04.08.2026    940    nedomolkov.ivan    0    

8

Администрирование СУБД 1С 8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

База 1С:ERP размером 646 Гб, полное маскирование за 5 часов - без создания промежуточной незащищенной копии. Разбираем бесплатный pg_anon на сквозном примере с реального продуктива.

27.07.2026    2203    Tantor    16    

13

HighLoad оптимизация Администрирование СУБД Программист Россия Бесплатно (free)

Если вы работаете с 1С на PostgreSQL и жалуетесь на тормоза — скорее всего, дело в join predicate pushdown, которого в стандартном PostgreSQL нет. В MS SQL Server этот механизм работает «из коробки», и при миграции именно запросы к виртуальным таблицам 1С бьют по производительности сильнее всего. В этой статье — реальный кейс от Postgres Professional с разбором плана выполнения, ручным экспериментом и доработкой планировщика СУБД, которая ускорила запросы от 22 до 54 000 раз.

16.06.2026    8415    postgres_professional    13    

12

HighLoad оптимизация Администрирование СУБД Системный администратор Программист 1С:Предприятие 8 Бесплатно (free)

Вышел релиз СУБД Tantor Postgres 18, и мы хотим рассказать о его новых возможностях для работы с приложениями на платформе "1С:Предприятие". В обзоре разберем улучшения планировщика, по традиции коснемся работы временных таблиц и не обойдем вниманием вспомогательные утилиты, которые упрощают поиск и диагностику проблем в высоконагруженных системах. За каждым пунктом - реальные запросы 1С, реальные рабочие базы и сотни часов тестирования!

16.06.2026    3136    Tantor    7    

10

Администрирование СУБД Системный администратор Программист 1С:Предприятие 8 Россия Бесплатно (free)

База 1С за несколько лет эксплуатации разрослась, - стала большой, медленно работает, требует много места и времени для копирования и прочего обслуживания. Нужна ли обязательно свертка или можно обойтись более «мягкими» средствами. Делюсь своим опытном как для новых конфигураций, так и для старых УПП, УТ 10…

01.06.2026    7830    2ncom    30    

11
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. cherva 97 18.12.19 11:09 Сейчас в теме
На платформе 8.3.14.1779 не работает
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(31)}: Метод объекта не обнаружен (ConnectAgent)
АгентСервера = COMСоединитель.ConnectAgent(ИдентификаторАгентаСервера);
2. &-rey 77 18.12.19 14:50 Сейчас в теме
COM не зарегистрирован, странно, может подключаетесь через тонкий клиент и пытается не на самом сервере искать подключение к серверу 1С?
3. cherva 97 18.12.19 16:09 Сейчас в теме
Предыдущую ошибку победили теперь это:


{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(31)}: Ошибка при вызове метода контекста (ConnectAgent)
АгентСервера = COMСоединитель.ConnectAgent(ИдентификаторАгентаСервера);
по причине:
Произошла исключительная ситуация (V83.COMConnector.1): server_addr=tcp://mos1csrv:1540 descr=192.168.1.142:1540:10061(0x0000274D): Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. ;
line=1056 file=d:\jenkins\ci_builder\windowsbuild2\platform\src\rtrsrvc\src\d­ataexchangetcpclientimpl.cpp


У нас сервер на портах 17ХХ
4. &-rey 77 19.12.19 08:51 Сейчас в теме
порт у вас вроде бы стандартный 1540, все верно определилось, на 17хх у вас не сервер 1с наверное? Это видно по строке
"C:\Program Files\1cv8\8.3.15.1700\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
в свойствах службы агента сервера 1с, строка запуска....
тут вобщем то код пятиминутный, почти полностью дернут из общего модуля СоединенияИБКлиентСервер, функция ПолучитьАктивныеСеансыИБ. Затем из полученных перебираю и закрываю только спящие...


Процедура КнопкаВыполнитьНажатие(Кнопка)
	ПараметрыАдминистрированияИБ = СоединенияИБ.ПолучитьПараметрыАдминистрированияИБ(); 
	НастройкаБлокировки = ПараметрыАдминистрированияИБ;
	ВсеКромеТекущего = Истина;
	Результат = Новый Структура("АгентСервера,КластерСерверов,Сеансы", Неопределено, Неопределено, Новый Массив);
	
	ПодстрокиСтрокиСоединения = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(
	СтрокаСоединенияИнформационнойБазы(), ";");	
	ИмяСервера = СтроковыеФункцииКлиентСервер.СократитьДвойныеКавычки(Сред(ПодстрокиСтрокиСоединения[0], 7));
	ИмяИБ      = СтроковыеФункцииКлиентСервер.СократитьДвойныеКавычки(Сред(ПодстрокиСтрокиСоединения[1], 6));
	COMСоединитель = Новый COMОбъект(ОбщегоНазначения.ИмяCOMСоединителя());	
	РазделительПорта = Найти(ИмяСервера, ":");
	Если РазделительПорта > 0 Тогда
		ИмяИПортСервера = ИмяСервера;
		ИмяСервера = Сред(ИмяИПортСервера, 1, РазделительПорта - 1);
		НомерПортаКластера = Число(Сред(ИмяИПортСервера, РазделительПорта + 1));
	ИначеЕсли НастройкаБлокировки.ПортКластераСерверов <> 0 Тогда
		НомерПортаКластера = НастройкаБлокировки.ПортКластераСерверов;
	Иначе
		НомерПортаКластера = COMСоединитель.RMngrPortDefault;
	КонецЕсли;
	
	ИдентификаторАгентаСервера = ИмяСервера;
	Если НастройкаБлокировки.ПортАгентаСервера <> 0 Тогда
		ИдентификаторАгентаСервера = ИдентификаторАгентаСервера + ":" + 
			Формат(НастройкаБлокировки.ПортАгентаСервера, "ЧГ=0");
	КонецЕсли;
	
	// Подключение к агенту сервера
	АгентСервера = COMСоединитель.ConnectAgent(ИдентификаторАгентаСервера);
	Результат.АгентСервера = АгентСервера; 
	
	// Найдем необходимый нам кластер
	Для каждого Кластер Из АгентСервера.GetClusters() Цикл		
		Если Кластер.MainPort <> НомерПортаКластера Тогда
			Продолжить;
		КонецЕсли;		
		Результат.КластерСерверов = Кластер; 
		АгентСервера.Authenticate(Кластер, НастройкаБлокировки.ИмяАдминистратораКластера, 
			НастройкаБлокировки.ПарольАдминистратораКластера);		
		// Получаем список сеансов
		НомерТекущегоСеанса = СоединенияИБПовтИсп.ПараметрыОтключенияСеансов().НомерСеансаИнформационнойБазы;
		СписокСеансов = АгентСервера.GetSessions(Кластер);
		Для Каждого Сеанс из СписокСеансов Цикл
			Если ВРег(Сеанс.InfoBase.Name) <> ВРег(ИмяИБ) Тогда
				Продолжить;
			КонецЕсли;
			Если НЕ ВсеКромеТекущего ИЛИ (НомерТекущегоСеанса <> Сеанс.SessionID) Тогда
				Результат.Сеансы.Добавить(Сеанс);
			КонецЕсли;
		КонецЦикла;		
	КонецЦикла;

   //Теперь пройдемся по сеансам и если он спящий - выкинем
   Для каждого сеанс из Результат.Сеансы цикл
	   Если Сеанс.Hibernate тогда
		    СоединенияИБКлиентСервер.ОтключитьСеанс(сеанс.SessionID, "Злой админ послал вас на ...")
	   КонецЕсли;
   КонецЦикла;
   Предупреждение("ВСЕ ДЕМОНЫ УБИТЫ!!!", 5,"Удаление зависших сеансов");
   ЭтаФорма.Закрыть();
КонецПроцедуры
Показать
5. cherva 97 19.12.19 12:42 Сейчас в теме
нет сервер 1с у нас на портах 17Х. И в строка запуска 1С
\\ххххххх\1ce\1cestart.exe enterprise /Sхххххх:1741\gsiupp1 /RunModeOrdinaryApplication

Просто на 15ХХ стоит сервер 1С 8.2 , но он не запущен. А сервер 8.1 стоит именно на 17ХХ портах, может ваша обработка неправильно цепляет не тот сервер?
7. &-rey 77 19.12.19 17:00 Сейчас в теме
(5) Не путайте, это строка запуска толстого клиента. Если у вас два сервера установлено, вполне возможно он находит 8.2. В крайнем случае, посмотрите текст, там сперва поиск сервера формируется текстовая строка, задайте ее напрямую. К примеру НомерПортаКластера = "17хх", ИдентификаторАгентаСервера = "mos1csrv" и сразу пошло со строк // Подключение к агенту сервера

(6) Если бы это еще работало всегда... к сожалению, иногда какое время не ставь на засыпание и выкидывание, а они так и висят, да еще и с блокировками!... или ручками выкидывать, что надоело, сделал кнопку чтобы до переустановки сервера на НГ праздники юзеры сами могли очищать спящих
6. nomad_irk 84 19.12.19 12:50 Сейчас в теме
(0)Чем не устраивает типовой настраиваемый механизм завершения сеансов?
Для отправки сообщения требуется регистрация/авторизация