[I128-2404] Оптимизация алгоритма загрузки файлов в модуле J-Irbis 2


НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.1.2 >> [I128-2404] Оптимизация алгоритма загрузки файлов в модуле J-Irbis 2📄 Скачать в DOCX


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

Компоненты: ИРБИС 128. Модуль DP_jirb2 - Провайдер данных к J-ИРБИС 2.0

Завершено: 11.06.2026 08:07

Проблема:

При попытке открыть файл (например, обложку книги или PDFдокумент) через провайдер JIrbis 2, система каждый раз принудительно обращалась к удаленному серверу ИРБИС. Даже если файл уже был ранее загружен и находился в локальном хранилище или кэше, пользователь был вынужден ждать завершения сетевого запроса к серверу ИРБИС. Это приводило к видимым задержкам при отображении страниц, избыточному потреблению интернет-трафика и неоправданной нагрузке на сервер базы данных.

Решение: Процесс получения файлов стал интеллектуальным: теперь система в первую очередь проверяет наличие документа во внутреннем хранилище. Внешний запрос к серверу ИРБИС выполняется только в том случае, если файл отсутствует локально. Для пользователя это означает мгновенную загрузку ранее открывавшихся файлов и общую повышенную отзывчивость интерфейса при работе с медиа-контентом и электронными ресурсами.

Технические подробности:

В методе Exec класса fncallDPjirb2_GetFile изменен порядок действий. В начало функции добавлен вызов CallOwnerFunction('GetFile', $params), который инициирует поиск файла через основной Data Provider системы (включая проверку локальных путей и кэша). Логика создания клиента ИРБИС и вызова $cln>GetFile перенесена в условный блок и выполняется только в том случае, если локальная проверка вернула пустой результат. Таким образом, обращение к внешнему API JИРБИС теперь является резервным, а не основным механизмом.

-

потом если его нет тянем провайдером