Очередь обеспечивает надежную доставку данных. При осуществлении обмена данными очередь дает следующие преимущества:
- одновременная работа нескольких процессов с очередью,
- минимальное управление конфигурацией очереди,
- надежное хранение полученных очередью сообщений,
- гарантированная доставка данных даже в случае сбоев работы.
Загрузка справочников
Для файловой загрузки справочников кассовое и серверное программное обеспечение Artix использует очередь сообщений File-Queue.
Настройка File-Queue осуществляется в секции [FILEQUEUE]:
- конфигурационный файл для кассы –
/linuxcash/cash/exchangesystems/exchangers/config/cash/exchangers.ini, - конфигурационный файл для КС –
/opt/exchangers/config/cs/exchangers.ini.
Наименование | Тип данных | Описание | Примечания |
|---|---|---|---|
| fileQueueRoot | строковый | Путь до корневой директории файл-очереди | По умолчанию для кассы По умолчанию для КС |
| queueChunkSize | целочисленный | Количество aif-объектов в одном сообщении файл-очереди | По умолчанию |
[FILEQUEUE] ; Путь до корневой директории файл-очереди fileQueueRoot = /linuxcash/cash/data/queues ; Количество aif-объектов в одном сообщении файл-очереди queueChunkSize = 25000
[FILEQUEUE] ; Путь до корневой директории файл-очереди fileQueueRoot = /opt/queues ; Количество aif-объектов в одном сообщении файл-очереди queueChunkSize = 25000
Механизм работы очереди File-Queue:
- От сервисов S
ync-agentилиExchangerпоступает справочник, который будет расформирован на json-файлы с расширением*.objs, они будут помещены в директорию:- для кассы
artix.loaddict.cash, - для КС
artix.loaddict.<id_магазина>.
Расположение директории задается настройкойfileQueueRoot. Команды справочника будут распределены про разным файлам*.objs.
- для кассы
- Если на кассу поступает справочник с большим количеством объектов, то он будет разбит на несколько файлов. Количество объектов в одном файле задается настройкой
queueChunkSize. После того как справочник будет разбит на части, формируется еще один файл*.objsс данными об окончании транзакции. - После завершения формирования всех файлов объекты будут отправлены сервисом
Nesв базу данных. - После завершения загрузки все json-файлы будут удалены из директории
artix.loaddict.<...>.
Если во время расформирования справочника на json-файлы произошла ошибка, то будет осуществлена повторная попытка формирования файлов *.objs.
В случае повреждения файла с объектами *.objs в базу данных загружаются данные из оставшихся файлов *.objs.
fileQueueRoot в конфигурационных файлах exchangers.ini и nes_load.ini должны совпадать.