Это старая версия документа.


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

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

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

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

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

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

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

пример

FSystemConsole cache-server-run --database POSUDA2804

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

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

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

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

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

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

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

FSystemConsole cache-server-clean --database 'имя базы, на которой был запущен сервер'