Вт, 11.11.2025, 01:23:55
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Рвется соединение администратором при очистке движений докум
greygrouseДата: Пн, 05.05.2025, 01:57:44 | Сообщение # 1
Майор
Группа: Проверенные
Сообщений: 86
Репутация: 41
Статус: Оффлайн
Платформа 8.3.27.1508
Конфигурация 1С ERP АПК 2.5.17.202
ИР 7.77.1e
ОС сервера - Windows Server 2019 Standard
Режим совместимости - 8.3.24
Клиент-серверный режим на MS SQL Server 2016

Техническую информацию приложить не могу, т.к. не открывается соответствующий раздел в ИР (описал на форуме)

Порядок воспроизведения:
1. Находил все документы в которых есть организация в инструменте Подбор и обработка объектов (список документов через Анализ метаданных)
2. Отбирал 40 тыс документов
3. Запускал очистку движений документов.
4. Получал ошибку (см. ниже)

В настройках записи и в параметрах запуска обработок указывал как на скриншоте. Пробовал уменьшать менять потоков, кколичество объектов в порции, результата вроде как не дало.

Ошибка через "15:39" фонового задания "Подбор и обработка объектов БД (ИР). Обработка объектов ОчиститьДвиженияДокументов": Соединение с сервером баз данных разорвано администратором
Соединение с сервером баз данных разорвано администратором
Выполнение оператора KILL не привело к ошибке СУБД
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(32433)}:ВызватьИсключение РезультатОбработки;
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(32345)}:НомераСвободныхПотоков = ОбновитьПотокиОбработкиОбъектовЛкс(СтруктураПотоков);
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(32299)}:ЗапуститьПотокОбработкиПорцииЛкс(СтруктураПотоков);
{ИнструментыРазработчикаTormozit Обработка.ирПодборИОбработкаОбъектов.МодульОбъекта(572)}:ирОбщий.ДобавитьОбъектВОчередьМногопоточнойОбработкиЛкс(СтруктураПотоков, ПараметрыОбработкиОбъекта, СтрокиРезультатовОбъекта);
{ИнструментыРазработчикаTormozit Обработка.ирПодборИОбработкаОбъектов.МодульОбъекта(508)}:ДобавитьОбъектВОчередьОбработки(ТипТаблицы, СтруктураКлючаОбъектаДоп, СтруктураКлючаОбъекта, СтруктураКлючаСтроки, КопияСтрокОбъекта, ПараметрыОбработки, ТранзакцииРазрешены,
{(1)}:Обработка.ВыполнитьГрупповуюОбработку(ПараметрыЗадания)
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(23977)}:Результат = Вычислить("Обработка." + ИмяМетодаОбработки + "(ПараметрыЗадания)");

Соединение с сервером баз данных разорвано администратором
Соединение с сервером баз данных разорвано администратором
Выполнение оператора KILL не привело к ошибке СУБД
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(32433)}:ВызватьИсключение РезультатОбработки;
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(32345)}:НомераСвободныхПотоков = ОбновитьПотокиОбработкиОбъектовЛкс(СтруктураПотоков);
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(32299)}:ЗапуститьПотокОбработкиПорцииЛкс(СтруктураПотоков);
{ИнструментыРазработчикаTormozit Обработка.ирПодборИОбработкаОбъектов.МодульОбъекта(572)}:ирОбщий.ДобавитьОбъектВОчередьМногопоточнойОбработкиЛкс(СтруктураПотоков, ПараметрыОбработкиОбъекта, СтрокиРезультатовОбъекта);
{ИнструментыРазработчикаTormozit Обработка.ирПодборИОбработкаОбъектов.МодульОбъекта(508)}:ДобавитьОбъектВОчередьОбработки(ТипТаблицы, СтруктураКлючаОбъектаДоп, СтруктураКлючаОбъекта, СтруктураКлючаСтроки, КопияСтрокОбъекта, ПараметрыОбработки, ТранзакцииРазрешены,
{(1)}:Обработка.ВыполнитьГрупповуюОбработку(ПараметрыЗадания)
{ИнструментыРазработчикаTormozit ОбщийМодуль.ирОбщий.Модуль(23977)}:Результат = Вычислить("Обработка." + ИмяМетодаОбработки + "(ПараметрыЗадания)");

[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка]
Прикрепления: 9436227.png (349.3 Kb)
 
tormozitДата: Пн, 05.05.2025, 07:04:35 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 7195
Репутация: 188
Статус: Оффлайн
Цитата greygrouse ()
Пробовал уменьшать менять потоков
Количество потоков = 1 пробовал?
 
greygrouseДата: Пн, 05.05.2025, 21:23:02 | Сообщение # 3
Майор
Группа: Проверенные
Сообщений: 86
Репутация: 41
Статус: Оффлайн
Да, с количеством потоков 1 завершается без проблем. Но занимает о-о-очень много времени...
 
tormozitДата: Пн, 05.05.2025, 23:15:07 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 7195
Репутация: 188
Статус: Оффлайн
Попробуй включить техножурнал на сбор TDEADLOCK, EXCP, EXCPCNTX или ЦУП и смотреть взаимоблокировки.
Пробуй закомментировать блоки кода в методе ОбработкаОбъект.ирПодборИОбработкаОбъектов.ОбработатьЭлементыОбъекта

Код

  Если ТипТаблицы = "Внешняя" Тогда
        ВнешниеИсточникиДанных[ОбъектМДОбъекта.Родитель().Имя].НачатьТранзакцию();
    Иначе
        НачатьТранзакцию();
    КонецЕсли;
      
Код
Если ТипТаблицы = "Внешняя" Тогда
            ВнешниеИсточникиДанных[ОбъектМДОбъекта.Родитель().Имя].ЗафиксироватьТранзакцию();
        Иначе
            ЗафиксироватьТранзакцию();
        КонецЕсли;

       
Код
Если ТипТаблицы = "Внешняя" Тогда
            ВнешниеИсточникиДанных[ОбъектМДОбъекта.Родитель().Имя].ОтменитьТранзакцию();
        Иначе
            ОтменитьТранзакцию();
        КонецЕсли;
 
tormozitДата: Пн, 05.05.2025, 23:19:45 | Сообщение # 5
Генералиссимус
Группа: Администраторы
Сообщений: 7195
Репутация: 188
Статус: Оффлайн
Более правильно блокировки накладывает обработка ОтменитьПроведениеДокументов. Попробуй ее.
 
tormozitДата: Вт, 06.05.2025, 07:57:37 | Сообщение # 6
Генералиссимус
Группа: Администраторы
Сообщений: 7195
Репутация: 188
Статус: Оффлайн
Создал задачу для отключения транзакции этому виду обработки https://www.hostedredmine.com/issues/1004624
 
greygrouseДата: Вт, 06.05.2025, 10:06:12 | Сообщение # 7
Майор
Группа: Проверенные
Сообщений: 86
Репутация: 41
Статус: Оффлайн
Цитата tormozit ()
Более правильно блокировки накладывает обработка ОтменитьПроведениеДокументов. Попробуй ее.

Попробовал. Ошибка появляется как и с очисткой движений если запускать в несколько потоков. Количество объектов в порции не влияет на появление ошибки.

Добавлено (06.05.2025, 12:32)
---------------------------------------------

Цитата tormozit ()
Пробуй закомментировать блоки кода в методе ОбработкаОбъект.ирПодборИОбработкаОбъектов.ОбработатьЭлементыОбъекта

Закомментировал. Теперь при многопоточным выполнении ошибок не выдает. По ощущениям в многопотоке стало помедленнее работать, но всеравно быстрее одного потока. Конкретные цифры при тестировании получу и допишу сюда.
 
tormozitДата: Пн, 12.05.2025, 08:32:15 | Сообщение # 8
Генералиссимус
Группа: Администраторы
Сообщений: 7195
Репутация: 188
Статус: Оффлайн
Сделано в 7.78
 
  • Страница 1 из 1
  • 1
Поиск: