Перейти к содержанию

Введение

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

Описание приложений

Doc Printer Broker - приложение, используемое для масштабирования системы. Используется, когда требуется обработать большой объем документов. Broker принимает запросы на обработку документов и перераспределяет их между подключенными к нему агентами. Поддерживается подключение агентов разного типа. Broker в зависимости от задания направляет его на свободный агент соответствующего типа.

VBA Agent - агент для обработки документов пакета MS Office. Принимает запрос от воркспейса или брокера, выполняет его обработку и возвращает полученный документ.

DocPrinter Python Agent - агент принимающий python скрипты, выполняющий их и возвращающий сформированные документы. В составе содержит пакет Мой Офис SDK что позволяет формировать документы в открытых форматах (.odt .ods)

Агенты обоих типов могут работать как за брокером, так и принимая запросы пользователей непосредственно напрямую от воркспейса. Это основная схема установки для небольших развертываний или небольшом объеме документов для обработки. Агенты выполняют обработку последовательно. Если в момент поступления задания, выполняется обработка предыдущего документа, новое задание становится в очередь. При больших объёмах рекомендуется устанавливать несколько агентов и подключать их к брокеру. В такой схеме брокер будет отправлять новые задания на следующий свободный агент.

Схемы установки

Установка одного агента

scheme_one_agent.png

Запрос с воркспейса направляется на агента и принимает результат обработки. Агент может быть любого типа. Как VBA так и Python агент. Возможна установка двух агентов разного типа на один сервер используя разные порты сервера, на которых будут приниматься запросы.

Установка с брокером

scheme_broker_agents.png

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