Очередь обеспечивает надежную доставку данных. При осуществлении обмена данными очередь дает следующие преимущества:
- одновременная работа нескольких процессов с очередью,
- минимальное управление конфигурацией очереди,
- надежное хранение полученных очередью сообщений,
- гарантированная доставка данных даже в случае сбоев работы.
Загрузка справочников
Для файловой загрузки справочников кассовое и серверное программное обеспечение 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
должны совпадать.