Загрузка справочников на кассовый сервер производится в несколько этапов:
Исходная директория для загрузки справочников на КС задается через веб-интерфейс кассового сервера индивидуально для каждого формата обмена.
Загрузка справочников в рабочую директорию кассового сервера осуществляется посредством Exchanger
. Для выполнения загрузки справочников на КС должен быть запущен сервис exchangers-upload
.
Сервис
Exchanger
конвертирует полученные файлы в формат AIF, передает сервису Sync-agent
, который отправляет полученные файлы сервису Sales-loader
. Сервис Sales-loader
помещает файлы в файловую систему. Кассовый сервер извлекает справочники из файловой системы и загружает их в БД.
Для начала работы с сервисом необходимо вручную создать пустой файл /etc/default/exchangers-upload
:
touch /etc/default/exchangers-upload |
Для запуска сервиса необходимо выполнить команду:
systemctl start exchangers-upload |
Для проверки статуса сервиса необходимо выполнить команду:
systemctl status exchangers-upload |
Настройка сервиса обмена через файловую систему осуществляется в конфигурационном файле /opt/exchangers/config/cs/exchangers.ini
в секции [UPLOAD]
.
Наименование | Тип данных | Возможные значения | Описание | Примечания |
---|---|---|---|---|
poolProcessSize | целочисленный | целое положительное число | Количество процессов | |
timeoutFlagFind | целочисленный | целое положительное число | Период сканирования данных, в секундах | |
nodeGetter | строковый |
| Модуль для получения нод. Ноды представляет собой совокупность узлов дерева магазинов и групп |
|
timeoutNodeReread | целочисленный | целое положительное число | Интервал перечитывания нод, по истечении которого будут обновляться все ноды, в секундах | При перечитывании нод получается дерево групп и магазинов |
maxCountBackupFiles | целочисленный | целое положительное число | Максимальное количество архивов запросов для одного магазина в бэкап директории | Устаревшие архивы удаляются. При значении 0 настройка не учитывается |
actualCountDaysForBackupFiles | Максимальное количество дней актуальности архивов в директории резервного копирования | Устаревшие архивы удаляются. При значении 0 настройка не учитывается | ||
stopConvertIfBadDict | логический |
| Останавливать конвертирование для магазина, у которого произошла ошибка при конвертировании справочника:
| |
badDictsDirectory | Директория для сохранения справочников, при обработке которых произошли ошибки |
[UPLOAD] ; Количество процессов poolProcessSize = 2 ; Период сканирования данных. Задается в секундах timeoutFlagFind = 20 ; Модуль для получения нод nodeGetter = cs30 ; Период перечитывания нод. Задается в секундах timeoutNodeReread = 300 ; Максимальное количество архивов для одного магазина в бэкап директории (устаревшие архивы будут удаляться) ; Если указать значение 0, то данная настройка учитываться не будет maxCountBackupFiles = 30 ; Количество дней актуальности архивов для одного магазина в бэкап директории (устаревшие архивы будут удаляться) ; Если указать значение 0, то данная настройка учитываться не будет actualCountDaysForBackupFiles = 30 ; Останавливать конвертирование для магазина, у которого произошла ошибка при конвертировании справочника stopConvertIfBadDict = True ; Директория для сохранения справочников, при обработке которых произошли ошибки. ; Справочники с ошибками будут перемещаться в указанную директорию только если установлено stopConvertIfBadDict = false. ; Если установлено stopConvertIfBadDict = true, то справочники с ошибками будут оставаться в рабочей директории, пока их не удалят badDictsDirectory = /opt/exchangers/badDicts |
Для оповещения АСТУ о ходе загрузки через файловую систему реализована возможность передачи в АСТУ статусов загрузки справочников. Для этого необходимо:
Добавить скрытые настройки в конфигурационный файл opt/artixcs-rest/application.properties
.
core.exchange.dictstatus.send.external.notifies
установить значение true.
Для параметра core.exchange.dictstatus.host
указать хост.
Для параметра core.exchange.dictstatus.port
указать порт.
Наименование | Тип данных | Возможные значения | Описание | Значение по умолчанию |
---|---|---|---|---|
core.exchange.dictstatus.send.external.notifies | логический |
| Включение отправки статусов прогрузки справочников во внешний сервис (из exchangers-rest-service) | false |
core.exchange.dictstatus.host | строковый | Хост для подключения к внешнему сервису, принимающему статусы прогрузки справочников | localhost | |
core.exchange.dictstatus.port | целочисленный | Порт для подключения к внешнему сервису, принимающему статусы прогрузки справочников | 8998 |
core.exchange.dictstatus.send.external.notifies = true core.exchange.dictstatus.host = 111.111.11.111 core.exchange.dictstatus.port = 8998 |
Настроить сервис exchangers-rest-service.
Сервис
exchangers-rest-service
предназначен для формирования файла с обновляемой информацией о статусах загрузки справочника.
Файл с информацией о статусах создается в директории, указанной в настройках веб-интерфейса кассового сервера "Директория для сохранения информации о прогрузке справочников" в разделе "Форматы файлового обмена". Для каждого формата обмена директория задается индивидуально. |
Для начала работы с сервисом exchangers-rest-service
необходимо вручную создать пустой файл /etc/default/exchangers-rest-service
:
touch /etc/default/exchangers-rest-service |
Для запуска сервиса необходимо выполнить команду:
systemctl start exchangers-rest-service |
Для проверки статуса сервиса необходимо выполнить команду:
systemctl status exchangers-rest-service |