[I128-2400] Аварийное завершение рассылки ИРИ при выполнении из очереди задач


НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.1.2 >> [I128-2400] Аварийное завершение рассылки ИРИ при выполнении из очереди задач📄 Скачать в DOCX


Тип Версия Статус Приоритет Исполнитель
⚙️ Исправление ошибок 2026.1.2 🔘 Завершено Средний Ilya Mikhaylenko

Компоненты: ИРБИС 128. Модуль Iri - Избирательная рассылка информации

Завершено: 18.06.2026 11:59

Проблема:   При автоматической рассылке ИРИ задача Iri/Send, запущенная из очереди, могла аварийно завершиться, если поиск читателей возвращал ошибку или пустой результат в виде кода ошибки. В этом случае очередь не получала управляемый результат выполнения.

Решение:   Рассылка ИРИ теперь обрабатывает ошибку поиска читателей как штатную ошибку action и возвращает ее в очередь задач. Пустой список читателей считается корректным нулевым результатом, а дата последней рассылки обновляется только после полного успешного выполнения.

Технические подробности:   В modules/Iri/Actions/Send.inc добавлена проверка результата i128f::ForEachRecord перед обращением к статистике рассылки. Также обработан возврат false из SetProgress, чтобы прерванный обход не продолжал выполнение и не сохранял дату последней рассылки.

-

  1. АРМ Каталогизатор ИРБИС64 Турбо Windows 1.1. Исправление ошибок I128~~2342 Функционал полнотекстового поиска в АРМ Каталогизатор
  2. ИРБИС 128. Модуль Admin - АРМ Администратор 2.1. Новые возможности I128~~2079 Новые виды поиска в панели администрирования модуля Виртуальные выставки I128~~2224 Новый раздел настроек АРМ Книговыдача "Настройка подсистемы заявок на продление срока пользования изданием" I128~~2257 Новая страница Admin/ShowCacheState для визуального мониторинга подсистемы кеширования. I128~~2298 Новая страница Admin/ClearObjectDataFolder
  3. ИРБИС 128. Модуль Authorisation - Авторизация пользователей 3.1. Исправление ошибок I128~~2325 Дублирование записей читателей при логине по SSO при включенном параметре AllowLDAPCreateNew
  4. ИРБИС 128. Модуль Bookland - АРМ Книговыдача 4.1. Исправление ошибок I128~~2326 Bookland::GetRdrOcc неявно проверяет требования к возврату экземпляра I128~~2331 Некорректная работа вкладки ЭДД 4.2. Новые возможности I128~~2209 Подсистема управления заявками на продление срока возврата издания пользователем I128~~2223 Функция Bookland::GetDbBookByRdrOcc(ObjectDataRecord $rdrRec, int $rdrOcc): ObjectDataDatabase I128~~2228 Функционал обработки заявок на продление срока пользования экземпляром издания читателем I128~~2390 Улучшение пользовательского опыта при работе с кнопкой "Блокировать" (Блокировка возможности книговыдачи для читателя) I128~~2391 Автоматический выбор экземпляра при поиске по инвентарному номеру или штрих-коду в окне «Выдача без заказа»
  5. ИРБИС 128. Модуль Cataloguer - АРМ Каталогизатор 5.1. Новые возможности I128~~2199 Смена обращения к модулю Ini с UseModule('Ini') на Ini::getInstance и проверка корректности вызова всех функций модуля
  6. ИРБИС 128. Модуль Complectator - АРМ Комплектатор 6.1. Документация I128~~2324 Инвентаризация и проверка фонда 6.2. Новые возможности I128~~2322 Инвентаризация и проверка фонда
  7. ИРБИС 128. Модуль CSpider - Сводный каталог 7.1. Новые возможности I128~~2369 Интерактивные ссылки для статей и номеров журналов в таблице слияний CSpider/LinkDbInfo
  8. ИРБИС 128. Модуль Database - Управление базами данных 8.1. Новые возможности I128~~1795 Редактор схемы БД I128~~2155 Поддержка Database::getInstance
  9. ИРБИС 128. Модуль DP_Irbis64Native - Нативный провайдер данных к файлам СУБД ИРБИС 64/64+ 9.1. Новые возможности I128~~1271 Новый провайдер данных DP_Irbis64Native - нативная (на PHP) реализация доступа к БД ИРБИС 64
  10. ИРБИС 128. Модуль DP_webirb - Провайдер данных к Web-ИРБИС 32, 64, 64+ 10.1. Новые возможности I128~~2386 Фильтрация словаря поисковым запросом на основе настроек базы данных
  11. ИРБИС 128. Модуль EC - АРМ Читатель 11.1. Новые возможности I128~~2227 Возможность для читателей в разделе "Книги на руках" сформировать заявку на продление срока пользования экземпляром издания I128~~2285 Скорректирован вывод экземпляров: теперь не отображаются сведения об отсутствии экземпляров в полном просмотре номера журнала, если это описание содержит поле 902
  12. ИРБИС 128. Модуль Format - Подсистема форматирования записей ИРБИС 128 12.1. Новые возможности I128~~2119 Поддержка динамической генерации и вывода штрихкодов (поддержка ИРБИС-ссылок вида IRBIS:!!!!) I128~~2339 Нативный форматер ИРБИС 128
  13. ИРБИС 128. Модуль he3 - Табличная форма ввода данных 13.1. Новые возможности I128~~2258 Новый редактор записей ИРБИС (he3)
  14. ИРБИС 128. Модуль Help - Помощь 14.1. Новые возможности I128~~2274 Экспорт страницы помощи в DOCX
  15. ИРБИС 128. Модуль Organisations - Организации 15.1. Новые возможности I128~~2356 Расширенный поиск организаций по географическому признаку
  16. ИРБИС 128. Модуль Pages - Страницы сайта 16.1. Новые возможности I128~~2418 Возможность устанавливать права доступа и иерархию страниц модулей ?id=ModuleName/PageName
  17. ИРБИС 128. Модуль Periodicals - АРМ Подписка 17.1. Новые возможности I128~~2419 Подсистема заявок о потребности в подписке
  18. ИРБИС 128. Модуль Queue - Очередь задач 18.1. Документация I128~~2321 Документация для модуля «Очередь задач» (Queue) 18.2. Новые возможности I128~~2256 Оптимизация производительности модуля Queue через кэширование и рефакторинг I128~~2318 Поддержка отображения прогресса cli-задач на основе анализа логов I128~~2370 Явное управление состоянием паузы в очереди задач
  19. ИРБИС 128. Модуль Record - Запись ИРБИС 19.1. Новые возможности I128~~2255 Отказ от медленного файлового кеширования (GetSidFile/SetSidFile) класса Record
  20. ИРБИС 128. Модуль RQST - Подсистема заказа изданий 20.1. Новые возможности I128~~2226 Новый Action RQST/CreateRequestProlongationBS: Обрабатывает логику создания заявки на продление (валидация дат, обновление записи читателя, создание записи в БД заказов)
  21. ИРБИС 128. Модуль RSU - Сетевые удаленные ресурсы 21.1. Новые возможности I128~~2093 Страница "Управление ресурсами удаленного доступа" и новая функция для показа удаленных ресурсов
  22. ИРБИС 128. Модуль Users - Управление пользователями 22.1. Исправление ошибок I128~~2289 Исправление опечаток в скрипте корректировки читателя в АРМ Регистратор
  23. ИРБИС 128. Модуль WIrbis - Системный модуль 23.1. Новые возможности I128~~2402 на кнопку корректировки назначен двойной клик который открывает полный формат просмотра. а не корректирует запись
  24. Комплексное решение АБИС ИРБИС64/128 24.1. Документация I128~~2431 Приведение Help-документации к целостному состоянию 24.2. Новые возможности I128~~1400 Сортировка результатов поиска в АРМ Каталогизатор I128~~1659 Новый мастер установки системы I128~~2253 Многоуровневое кеширование I128~~2254 Полный рефакторинг хранения сессий
  25. Комплексное решение Электронная библиотека ИРБИС64/128 25.1. Документация I128~~2315 Поддержка фонового распознавания текста (OCR) с помощью Tesseract для PDF-документов без текстового слоя. 25.2. Исправление ошибок I128~~2243 При наличии одинарной кавычки в кратком описании просмотрщик выдает ошибку 25.3. Новые возможности I128~~2092 Создать страницу в модуле "Страницы сайта" для доступа к системной странице "Управление контентом электронной библиотеки" I128~~2300 Поддержка фонового распознавания текста (OCR) с помощью Tesseract для PDF-документов без текстового слоя. I128~~2301 Интеграция подсистемы транскрибации в модуль FT и добавление локального распознавания через Whisper
  26. Технологическое обеспечение системы ИРБИС 64/128 26.1. Исправление ошибок I128~~2351 Фиктивная форма ListInvKSUGEN в списке выходных форм каталога

-

Версия 2026.2

-

При автоматической рассылке ИРИ задача Iri/Send, запущенная из очереди, аварийно завершалась (PHP fatal error), если поиск читателей через i128f::ForEachRecord возвращал ошибку или пустой результат (в виде целочисленного кода, например -120). Метод пытался работать с числовым кодом ошибки как с массивом. В результате очередь не получала управляемый статус завершения. Кроме того, игнорировалось прерывание выполнения задачи через очередь, а некорректные входные данные для дат могли ломать логику выборки.

-

There was a merge conflict automatically merging this branch

-

Исправление ошибок

1. Связанные задачи

1.1. 🔗 blocks: ETDR-112

[ETDR-112] Iri/Send в очереди уходит в fatal Статус: Готово | Автор: Галина Арноси