Загрузка справочников в БД кассы производится в несколько этапов:

  1. Передача справочников из АСТУ в исходную директорию на кассе.
  2. Перенесение справочников из исходной директории в рабочую директорию.
  3. Конвертирование справочников из исходного формата в AIF.
  4. Помещение объектов в очередь.
  5. Загрузка объектов из очереди в базу данных кассы.

Загрузка справочников в рабочую директорию кассы осуществляется посредством сервиса Exchanger. Для выполнения загрузки справочников должен быть запущен сервис exchangers-upload

Включение сервиса обмена через файловую систему

Управление сервисом загрузки справочников осуществляется через параметр UPLOAD_START в файле /etc/default/exchangers.

НаименованиеТип данныхВозможные значенияОписаниеПримечания
UPLOAD_STARTстроковый
  • yes
  • no
Включение сервиса загрузки справочников через файловую системуИмя сервиса exchangers-upload. По умолчанию сервис включен.
Пример настройки
# Defaults for the "exchangers-unload" and "exchangers-upload" initscript
...
# Set to yes to start exchangers-upload
UPLOAD_START=yes

Настройка обмена через файловую систему

Настройка сервиса обмена через файловую систему осуществляется в конфигурационном файле /linuxcash/cash/exchangesystems/exchangers/config/cash/exchangers.ini в секции [UPLOAD].

НаименованиеТип данныхВозможные значенияОписаниеПримечания
poolProcessSizeцелочисленныйЦелое положительное числоКоличество процессов, осуществляющих обработку и загрузку справочников
timeoutFlagFindцелочисленныйЦелое положительное число

Интервал сканирования данных в секундах, по истечении которого запускается процесс поиска файлов справочников и дальнейшая их загрузка


timeoutNodeRereadстроковыйЦелое положительное число

Интервал перечитывания нод в секундах. Нода представляет собой узел магазина и кассы.


maxCountBackupFilesцелочисленныйЦелое положительное числоМаксимальное количество архивов для одного магазинаПри значении 0 настройка не учитывается. Устаревшие архивы удаляются.
actualCountDaysForBackupFilesцелочисленныйЦелое положительное числоКоличество дней хранения архивов
converter строковый
  • aif
  • oracle
  • shtrih
  • smag-ukm
  • smag-ukm4
  • users
  • crystal
  • atol

Конвертер для обработки справочников в указанном формате. Можно указать несколько конвертеров через запятую.

По умолчанию aif.

Параметры указанного конвертера определяются в секции [upload.converter.<формат_обмена>].

backupDirстроковый
Директория резервного хранения архивов справочниковПолный путь до директории, в которую помещаются файлы справочников.
stopConvertIfBadDictлогический
  • true
  • false

Параметр, устанавливающий поведение загрузки справочника, у которого произошла ошибка при конвертировании.


 

  • При значении true в случае возникновения ошибок процесс конвертирования останавливается. Справочник с ошибками остается в рабочей директории до удаления пользователем.
  • При значении false в случае возникновения ошибок конвертирование продолжается. После конвертирования справочник перемещается в директорию, заданную параметром badDictsDirectory.

При установке сервисов обмена установлено значение false. Если настройка по какой-либо причине удалена, то будет применено значение true.

badDictsDirectoryстроковый
Директория для сохранения справочников, при обработке которых произошли ошибки. 

Справочники с ошибками перемещаются в указанную директорию при значении параметра stopConvertIfBadDict = false.

В имени директории можно использовать макроподстановки.

pathUploadFinishFlagстроковый
Создавать флаг успешной загрузкиПо умолчанию не создается.
Пример настройки
[UPLOAD]
; Количество процессов
poolProcessSize = 1
; Период сканирования данных. Задается в секундах
timeoutFlagFind = 20
; Период перечитывания нод. Задается в секундах.
timeoutNodeReread = 300
; Максимальное количество архивов для одного магазина в бэкап директории (устаревшие архивы будут удаляться)
; Если указать значение 0, то данная настройка учитываться не будет
maxCountBackupFiles = 30
; Количество дней актуальности архивов для одного магазина в бэкап директории (устаревшие архивы будут удаляться)
; Если указать значение 0, то данная настройка учитываться не будет
actualCountDaysForBackupFiles = 30
; список конвертеров данных разделенный запятыми (aif, oracle, shtrih, smag-ukm, smag-ukm4, users4, crystal)
converter = aif
; директория, в которую будут складываться бэкапы справочников
backupDir = /linuxcash/cash/data/backup/dicts
; Останавливать конвертирование для магазина, у которого произошла ошибка при конвертировании справочника.
stopConvertIfBadDict = true
; Директория для сохранения справочников, при обработке которых произошли ошибки.
badDictsDirectory = /opt/exchangers/badDicts
; Создавать флаг успешной загрузки
; По умолчанию не создается
;pathUploadFinishFlag = /tmp/upload%(year)s.%(month)s.%(day)s_%(hour)s-%(min)s-%(sec)s.flg

При включенной настройке pathUploadFinishFlag после загрузки справочника в указанной директории создается файл-флаг, содержащий количество объектов, при загрузке которых произошла ошибка.

Если при обработке справочника произошла ошибка, то файл-флаг не будет создан.

  • No labels