Очередь обеспечивает надежную доставку данных. При осуществлении обмена данными очередь дает следующие преимущества:

  • одновременная работа нескольких процессов с очередью,
  • минимальное управление конфигурацией очереди,
  • надежное хранение полученных очередью сообщений,
  • гарантированная доставка данных даже в случае сбоев работы.

Загрузка справочников

Для файловой загрузки справочников кассовое и серверное программное обеспечение Artix использует очередь сообщений File-Queue.

Настройка File-Queue осуществляется в секции [FILEQUEUE]:

  • конфигурационный файл для кассы – /linuxcash/cash/exchangesystems/exchangers/config/cash/exchangers.ini,
  • конфигурационный файл для КС – /opt/exchangers/config/cs/exchangers.ini.

Наименование

Тип данных

Описание

Примечания

fileQueueRootстроковыйПуть до корневой директории файл-очереди

По умолчанию для кассы /linuxcash/cash/data/queues.

По умолчанию для КС /opt/queues

queueChunkSizeцелочисленный

Количество aif-объектов в одном сообщении файл-очереди

По умолчанию 25000

Пример настройки для кассы
[FILEQUEUE]

; Путь до корневой директории файл-очереди
fileQueueRoot = /linuxcash/cash/data/queues

; Количество aif-объектов в одном сообщении файл-очереди
queueChunkSize = 25000
Пример настройки для кассового сервера
[FILEQUEUE]

; Путь до корневой директории файл-очереди
fileQueueRoot = /opt/queues

; Количество aif-объектов в одном сообщении файл-очереди
queueChunkSize = 25000

Механизм работы очереди File-Queue:

  1. От сервисов Sync-agent или Exchanger поступает справочник, который будет расформирован на json-файлы с расширением *.objs, они будут помещены в директорию:
    • для кассы artix.loaddict.cash,
    • для КС artix.loaddict.<id_магазина>.
      Расположение директории задается настройкой fileQueueRoot. Команды справочника будут распределены про разным файлам *.objs.
  2. Если на кассу поступает справочник с большим количеством объектов, то он будет разбит на несколько файлов. Количество объектов в одном файле задается настройкой queueChunkSize. После того как справочник будет разбит на части, формируется еще один файл *.objs с данными об окончании транзакции.
  3. После завершения формирования всех файлов объекты будут отправлены сервисом Nes в базу данных.
  4. После завершения загрузки все json-файлы будут удалены из директории artix.loaddict.<...>.

Если во время расформирования справочника на json-файлы произошла ошибка, то будет осуществлена повторная попытка формирования файлов *.objs.

В случае повреждения файла с объектами *.objs в базу данных загружаются данные из оставшихся файлов *.objs.

Для корректной загрузки справочников значения настроек fileQueueRoot в конфигурационных файлах exchangers.ini и nes_load.ini должны совпадать.
  • No labels