Сервис 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 | строковый | Список таблиц, для которых не будет осуществлена проверка после загрузки справочников (указание таблиц позволяет ускорить заполнение таблиц данными при загрузке справочников, содержащих большое количество записей) | По умолчанию не задано.
| |||
errorsFilePath | строковый | Путь до файла с количеством ошибок сервиса | По умолчанию не задано.
Если значение параметра задано, то при наличии ошибок сервиса в указанной директории автоматически будет создан файл-флаг, который будет представлять собой json-объект вида:
Если возникают новые ошибки в сервисе, то значение параметра |
Очередь сообщений необходима для обеспечения гарантированной доставки данных. Сервис Nes определяет, каким образом будет произведено подключение к очереди и по какому протоколу будет производиться передача сообщений.
До версии 4.6.159 (включительно) настройка очереди сообщений осуществляется в конфигурационном файле /linuxcash/cash/exchangesystems/nes/config/nes_load.ini в секции [QUEUE]. |
| Наименование | Тип данных | Возможные значения | Описание | Примечания |
|---|---|---|---|---|
| brokerHost | строковый | Хост брокера очередей | По умолчанию localhost | |
| brokerPort | целочисленный | любое целое положительное число | Порт брокера очередей | По умолчанию 5672 |
| user | строковый | Логин пользователя брокера очередей | По умолчанию guest | |
| password | строковый | Пароль пользователя брокера очередей | По умолчанию guest | |
| brokerType | строковый |
| Тип брокера очередей (на каком языке программирования написан) | По умолчанию 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/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.