Сервер для кэширования общих данных

Сервер может помочь ускорить базовые операции в программе. На текущий момент сервис позволяет ускорить

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

Сервис загружает в оперативную память определённый набор данных, которые нужны для операций, описанных выше. Если клиенту нужно провести такую операцию, то она проводится на стороне сервиса, например, определение существующих товаров при добавлении их в Заказ. При этом на сервис по сети передаются данные для проведения операции, а от сервиса по сети приходит результат клиенту. Сеть в данном случае может стать узким местом. Также при изменении параметров, аналогов, классификации со стороны клиенты происходит передача изменений на сервер, сервер либо записывает изменения в базу, либо просто перекеширует нужные данные из базы.

Сервер можно запустить с помощью Мастера запуска сервера ForecastNOW или через консольную утилиту.

Использование Мастера запуска сервера ForecastNOW

«Мастер запуска сервера ForecastNOW» можно запустить отдельный ярлык «CacheDataServiceWizard.exe», который расположен в папке с установленной программой.

Для первого запуска службы необходимо выбрать базу данных (обязательное поле), для которой будет производится кэширование, и порт (по умолчанию 4040). Также в настройках можно указать IP адрес для сервера.

После ввода настроек, визард запускает FSystemConsole с указанными аргументами как активную службу. Название службы - «CacheDataService», отображаемое имя - «Кэш-сервер Forecast NOW!».

Если кэш-сервер уже активен как служба, при запуске визарда на первой странице будет предложено либо перезапустить сервер с другими настройками, либо остановить его работу (удалить службу).

Для корректной остановки и перезапуска службы используется файл cache-data-service.сonf. Вручную этот файл изменять нельзя, иначе не выйдет перезапустить или остановить службу.

Работа с сервером через консольную утилиту

Запуск сервера

Сервер можно запустить с помощью команды:

FSystemConsole cache-server-run --database 'имя базы, с которой будут кэшироваться данные' --port "номер порта для соединения с клиентами" --host-address "IPv4 адрес на котором будет запущен сервер"
Порт можно не указывать, по умолчанию порт 4040.

При запуске сервера на конкретном ip, должен указываться валидный IPv4 адрес. Если указан не валидный ip или не указан вообще, то программа попытается определить нужный адрес автоматически.

Пример

FSystemConsole.exe cache-server-run --database demo.db --port 4040 --host-address 192.168.88.225

Серверу нужно какое-то время, чтобы закешировать данные, об этом он сообщает в стандартный вывод.

После можно запускать новые экземпляры FSystemWindow, они будут автоматически пытаться подсоединиться к серверу и использовать его кэш.

Остановка сервера

Для корректной остановки сервера нужно использовать команду

FSystemConsole cache-server-stop --database 'имя базы, с которой кэшируются данные'

О том, что сервер остановлен, так же будет сообщено в стандартный вывод.

Из-за сервера могут возникнуть зависания программы, это может возникнуть из-за некорректного завершения работы сервера. Что бы это исправить, надо запустить команду удаление файлов кэша

cache-server deleteCacheFiles --database databaseName

databaseName - конкретное название рабочей базы FNOW