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

Работу сервиса Nes обеспечивает пакет artix45-nes2, который автоматически устанавливается в зависимостях пакета artix45-exchangers. При установке пакета создается директория /linuxcash/cash/exchangesystems/nes, в которую размещаются конфигурационные и служебные файлы сервиса. Сервис Nes запускается автоматически при включении кассовой программы.

Настройки работы сервиса задаются в конфигурационном файле /linuxcash/cash/exchangesystems/nes/config/nes_load.ini, который  разделен на секции:

  • [MAIN] – обязательная секция, содержит настройки для работы Nes,
  • [QUEUE/FILEQUEUE] – секция содержит настройки очередей, с помощью которых можно сконфигурировать разрешенный размер очереди и разрешенное количество сообщений в очереди,
  • [mysql] – секция содержит настройки подключения к базе данных, а так же некоторые сервисные настройки,
  • [CS] – секция содержит настройки для авторизации на кассовом сервере.

Базовая настройка

Базовая настройка предполагает конфигурирование основных процессов сервиса загрузки.

Загрузчик обрабатывает данные с помощью процессов, для каждого из которых ведется журнал работы. Базовые настройки сервиса задаются в конфигурационном файле /linuxcash/cash/exchangesystems/nes/config/nes_load.ini в секции [MAIN].

НаименованиеТип данныхВозможные значенияОписаниеПримечания
logDirectoryстроковый

Директория ведения журнала событий Nes. Если параметр не задан явно – берется значение по умолчанию

Значением по умолчанию является директория  /linuxcash/logs/current
poolProcessSize целочисленныйлюбое целое положительное числоКоличество процессов, которые будут запущены для работы с данными

tablesWithoutCheck

строковый

Список таблиц, для которых не будет осуществлена проверка после загрузки справочников (указание таблиц позволяет ускорить заполнение таблиц данными при загрузке справочников, содержащих большое количество записей)

По умолчанию не заполнено.

Пример заполнения:

tablesWithoutCheck = card, client

Настройка работы очереди сообщений

Очередь сообщений необходима для обеспечения гарантированной доставки данных. Сервис Nes определяет, каким образом будет произведено подключение к очереди и по какому протоколу будет производиться передача сообщений.

До версии 4.6.159 (включительно) настройка очереди сообщений осуществляется в конфигурационном файле /linuxcash/cash/exchangesystems/nes/config/nes_load.ini в секции [QUEUE].
НаименованиеТип данныхВозможные значенияОписаниеПримечания
brokerHostстроковый
Хост брокера очередейПо умолчанию localhost
brokerPortцелочисленныйлюбое целое положительное число

Порт брокера очередей

По умолчанию 5672
userстроковый
Логин пользователя брокера очередейПо умолчанию guest
passwordстроковый
Пароль пользователя брокера очередейПо умолчанию guest
brokerTypeстроковый
  • cpp
  • java

Тип брокера очередей (на каком языке программирования написан)

По умолчанию cpp
brokerRestPortцелочисленныйлюбое целое положительное числоПорт REST сервиса брокера. Если брокер типа java, то работаем с ним через RESTПо умолчанию 9080
Начиная с версии 4.6.160 настройка очереди сообщений осуществляется в конфигурационном файле /linuxcash/cash/exchangesystems/nes/config/nes_load.ini в секции [FILEQUEUE].
НаименованиеТип данныхОписаниеПримечания
fileQueueRootстроковыйПуть до корневой директории файл-очередиПо умолчанию /linuxcash/cash/data/queues

Настройка работы с базой данных

Сервис Nes работает непосредственно с базой данных кассовой программы. Настройка подключения загрузчика к БД и способ передачи данных осуществляется в конфигурационном файле /linuxcash/cash/exchangesystems/nes/config/nes_load.ini в секции [mysql].

НаименованиеТип данныхВозможные значенияОписаниеПримечания
hostстроковый
Хост системы управления базой данныхПо умолчанию localhost
portцелочисленныйлюбое целое положительное числоПорт системы управления базой данныхПо умолчанию 3306

user

строковый
Логин системы управления базой данныхПо умолчанию netroot
passwordстроковый
Пароль системы управления базой данныхПо умолчанию netroot
sysUserстроковый
Логин для выполнения операций удаления и копирования файлов базы данныхПо умолчанию mysql
sysGroupстроковый
Имя группы в системе для выполнения операций удаления и копирования файлов базы данныхПо умолчанию mysql
commandCommitCountцелочисленныйлюбое целое положительное числоКоличество команд, которые будут накоплены для выполнения подтверждения записи данных в БДПо умолчанию 5000

Настройка параметров авторизации на кассовом сервере

Сервис Nes отправляет запросы на кассовый сервер. Настройка параметров авторизации для выполнения запросов осуществляется в конфигурационном файле /linuxcash/cash/exchangesystems/nes/config/nes_load.ini в секции [CS].

НаименованиеТип данныхОписаниеПримечания

login

строковыйЛогин для авторизации на КСПо умолчанию admin
passwdстроковыйПароль для авторизации на КСПо умолчанию admin

В случае если настройки были заданы в конфигурационном файле из директории /linuxcash/cash/exchangesystems/nes/config/conf.d/, то они будут применены в первую очередь.

Логирование

Все процессы обмена, выполняемые между товароучетной системой и кассой, регистрируются в соответствующих журналах. Файлы логов за текущую смену хранятся в директории /linuxcash/logs/current/. При закрытии смены архивируются и переносятся в директорию /linuxcash/logs/archive/logs.

Для работы с данными доступны следующие логи:

НаименованиеОписание
nesUploadService.logВ логе записываются события взаимодействия с очередью File-Queue и REST
nesUploadcash.logВ лог записываются события по загрузке данных из очереди в БД кассы

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

Настройка логов на кассе осуществляется в файле /linuxcash/cash/exchangesystems/nes/config/logging.properties.

В настройках можно изменить уровень логирования на любой из следующих:

  • INFO,
  • DEBUG,

  • WARNING,

  • ERROR,

  • CRITICAL.

Самым детализированным уровнем логирования является DEBUG (вес лог-файла выше, чем у остальных).

По умолчанию размер основного файла, в который осуществляется запись логов, не может превышать 100 Mb. Если размер данных, записываемых в основной файл, превысит 100 Mb, то данные из него будут скопированы в дополнительный лог-файл с индексом "n", где "n" – номер лог-файла, а основной лог-файл будет перезаписан. Чем меньше индекс в названии дополнительного файла, тем актуальнее находящаяся в нем информация.

Количество таких файлов и максимальный размер можно задать в настройках, где по умолчанию "100000000" – размер файла в байтах, "10" – количество файлов:

Пример настройки
[handler_nesErrorLogHandler]
class=logging.handlers.RotatingFileHandler
formatter=defaultFormatter
args=('%(nesErrorLog)s', 'a', 100000000, 10)

[handler_nesUploadServiceHandler]
class=logging.handlers.RotatingFileHandler
formatter=defaultFormatter
args=('%(nesUploadService)s', 'a', 100000000, 10)

[handler_nesUploadcashHandler]
class=logging.handlers.RotatingFileHandler
formatter=defaultFormatter
args=('%(nesUploadcash)s', 'a', 100000000, 10)

[handler_nesUploadShopHandler]
class=logging.handlers.RotatingFileHandler
formatter=defaultFormatter
args=('%(nesUploadShop)s', 'a', 100000000, 10)

Не рекомендуется вносить изменения в остальные настройки.

Если файл настройки логов (logging.properties) отсутствует, то в директории /tmp/ будет создан файл логирования nes.log.

  • No labels