НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте 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ИРБИС теперь является резервным, а не основным механизмом.
-
потом если его нет тянем провайдером