Вторник, 07.05.2024, 19:18
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Основной » Проблемные ситуации » Подбор и обработка объектов. Удаление в несколько потоков
Подбор и обработка объектов. Удаление в несколько потоков
yasnovidyashiiДата: Вторник, 05.03.2024, 15:24 | Сообщение # 1
Лейтенант
Группа: Пользователи
Сообщений: 67
Репутация: 84
Статус: Оффлайн
Продолжаю эксперименты в той же базе по удалению старых записей из регистра сведений ВерсииОбъектов.
В этот раз решил поудалять штатным способом, но на сервере  и в несколько потоков.
Выбрал 4 потока. "Объектов в порции" не менял, оставил 10. Запустил. Процесс пошел. Но возникло информационное сообщение: "Средняя длительность порции - 0.5с. Рекомендуется увеличить количество объектов в порции".
Спустя минут 5 решил прервать процесс и выполнить рекомендацию. Установил в окне крыжик "Прервать".

Процесс прервался, но с ошибкой.
Более того, теперь эта ошибка возникает через 5-15 секунд при повторном запуске удаления в несколько потоков.
Не помог в том числе перезапуск сеанса.

В один поток, но на сервере — ошибка та же.

Код
Метод объекта не обнаружен (ПолучитьФоновоеЗадание)
{ОбщийМодуль.ирОбщий.Модуль(8449)}:ИД = ирКэш.ТекущийСеансЛкс().ПолучитьФоновоеЗадание().УникальныйИдентификатор;
{Обработка.ирПодборИОбработкаОбъектов.МодульОбъекта(469)}:Если ирОбщий.ЛиПрерватьФоновоеЗаданиеЛкс(Индикатор) Тогда
{(1)}:Обработка.ВыполнитьГрупповуюОбработку(ПараметрыЗадания)
{ОбщийМодуль.ирОбщий.Модуль(22589)}:Результат = Вычислить("Обработка." + ИмяМетодаОбработки + "(ПараметрыЗадания)");




Прикрепления: 8926868.png (8.1 Kb)
 
tormozitДата: Среда, 06.03.2024, 08:24 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 6188
Репутация: 159
Статус: Оффлайн
Ошибку подтверждаю https://www.hostedredmine.com/issues/981796
 
yasnovidyashiiДата: Среда, 06.03.2024, 08:46 | Сообщение # 3
Лейтенант
Группа: Пользователи
Сообщений: 67
Репутация: 84
Статус: Оффлайн
А что мне необходимо сделать, чтобы ошибка перестала возникать?
При повторных запусках обработки соответствующая галочка не стоит. Но ошибка стабильно повторяется.

Добавлено (06.03.2024, 08:56)
---------------------------------------------
Удалил из хранилища общих настроек "ФлагиПрерыванияЗаданий" и всё заработало.
Вопрос "что делать" можно считать неактуальным.
Кстати, значением настройки был пустой массив. Не знаю, должно ли так быть.


Сообщение отредактировал yasnovidyashii - Среда, 06.03.2024, 09:01
 
tormozitДата: Среда, 06.03.2024, 23:18 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 6188
Репутация: 159
Статус: Оффлайн
Цитата yasnovidyashii ()
должно ли так быть
да
 
tormozitДата: Понедельник, 11.03.2024, 00:06 | Сообщение # 5
Генералиссимус
Группа: Администраторы
Сообщений: 6188
Репутация: 159
Статус: Оффлайн
Исправлено в 7.18
 
yasnovidyashiiДата: Понедельник, 11.03.2024, 11:20 | Сообщение # 6
Лейтенант
Группа: Пользователи
Сообщений: 67
Репутация: 84
Статус: Оффлайн
Цитата tormozit ()
Исправлено в 7.18

Нет, не исправлено. Соответствующие флаги становятся недоступными только после того, как в них ткнешь.
Как и в прошлый раз это приводит к повторяющейся по кругу ошибке, лечится которая удалением из хранилища общей настройки "ФлагиПрерыванияЗаданий"

Код
Ошибка через 00:27 фонового задания "Подбор и обработка объектов БД (ИР). Обработка объектов Удалить": Метод объекта не обнаружен (ПолучитьФоновоеЗадание)
{ОбщийМодуль.ирОбщий.Модуль(8466)}:            ИД = ирКэш.ТекущийСеансЛкс().ПолучитьФоновоеЗадание().УникальныйИдентификатор;
{Обработка.ирПодборИОбработкаОбъектов.МодульОбъекта(469)}:                        Если ирОбщий.ЛиПрерватьФоновоеЗаданиеЛкс(Индикатор) Тогда
{(1)}:Обработка.ВыполнитьГрупповуюОбработку(ПараметрыЗадания)
{ОбщийМодуль.ирОбщий.Модуль(22608)}:        Результат = Вычислить("Обработка." + ИмяМетодаОбработки + "(ПараметрыЗадания)");


 
tormozitДата: Понедельник, 11.03.2024, 18:50 | Сообщение # 7
Генералиссимус
Группа: Администраторы
Сообщений: 6188
Репутация: 159
Статус: Оффлайн
Подтверждаю не исправление ошибки "Метод объекта не обнаружен (ПолучитьФоновоеЗадание)". Вернул задачу в работу.
 
tormozitДата: Понедельник, 18.03.2024, 08:03 | Сообщение # 8
Генералиссимус
Группа: Администраторы
Сообщений: 6188
Репутация: 159
Статус: Оффлайн
Исправлено в 7.19
 
Форум » Основной » Проблемные ситуации » Подбор и обработка объектов. Удаление в несколько потоков
  • Страница 1 из 1
  • 1
Поиск: