Настройка сервиса
Для успешного функционирования сервиса печати требуется выполнение следующих ключевых условий:
- Развернутый RMQ-КС версии 4.0.6
- Развернутый WEB-Сервер-КС версии 6.0.9.060 и выше
- Развернутый сервис печати версии 25.1.23.328 и выше
- Веб-приложение или сервис приложения версии 25.1 и выше
- База версии 24.02 с дополнением 1 и выше
- Существующий пользователь repmgr на рабочей базе
- Подключ сервер сообщений
- Созданные очереди печати
- Подключенный Сервис ОД
- Подключенный брокер сообщений к веб-приложению или сервису приложения
- Единая PostgreSQL база кэша
Сервер сообщений
Сервер сообщений играет ключевую роль в отправке готовых результатов пользователям на внутреннюю почту.
Это особенно важно в случаях, когда отчет не успевает быть сформирован и напечатан в течение установленного таймаута. В таких ситуациях система автоматически направляет готовый отчет пользователю по внутренней почте от имени ReportService (Сервис печати).
Чтобы подключить сервер сообщений:
- Зайдите в сервис Управление БД.
- Разверните узел рабочей базы.
- Найдите "Сервер сообщений (отсутствует)" в списке.
- Вызвав контекстное меню, создайте или присоедините базу.
Подключенный сервер сообщений выглядит так:
После входа в Бюджет-NEXT у всех пользователей в области навигационной панели отобразится раздел почты.
Сервис ОД
После завершения формирования отчетов файлы автоматически загружаются на сервис ОД, который выступает в роли хранилища готовых документов. Этот компонент системы обеспечивает централизованное хранение результатов печати.
Скорее всего, вы уже используете настроенный сервис ОД для хранения и управления оправдательными документами. Поэтому, необходимо просто проверить текущую настройку на базе.
Чтобы проверить настройку хранилища ОД:
- Перейдите в настройку:
Настройки: НАСТРОЙКИ \ Первичные документы \ Хранилище первичных документов
- В настройке "Хранилище" указан тип "Веб-сервер".
- В настройке "Адрес сервиса" прописан адрес сервиса ОД.
Создание очереди
Общая информация об очередях
Для описания работы сервиса печати мы предоставляем две базовые очереди в качестве примера:
- Привилегированная очередь (вложенная очередь
print_adm
) предназначена для пользователей, которым требуется приоритетное формирование и печать отчетов. Эта очередь обеспечивает быстрый доступ к ресурсам для важных или срочных задач. - Общая очередь (вложенная очередь
print
) используется для остальных пользователей. В этой очереди запросы на формирование отчетов обрабатываются в порядке их поступления. Пользователи, добавленные в общую очередь, ожидают своей очереди без приоритета.
Однако важно отметить, что количество очередей может быть расширено в зависимости от потребностей вашей системы.
Хотя в данном руководстве описываются только две очереди, вы можете создавать дополнительные очереди для более гибкого управления нагрузкой или разграничения прав доступа. Например:
- Очереди для разных групп пользователей.
- Очереди с различными уровнями приоритета.
- Специализированные очереди для определенных типов отчетов.
Далее мы рассмотрим настройки и использование указанных двух очередей (print_adm
и print
) как базовый сценарий. При необходимости вы сможете адаптировать эту конфигурацию под свои требования.
Чтобы создать очередь:
- Зайдите в сервис Управления БД.
- Разверните дерево базы, откройте режим "Сервер печати".
- Нажмите в тулбаре кнопку "Создать".
- В окне создания очереди заполните все обязательные поля.
Ниже приведено подробное описание каждого параметра:- Идентификатор – задается автоматически.
- Наименование – укажите наименование очереди.
Например, для общей очереди:Общая очередь
. - Включен - Переключатель для включения или выключения очереди.
Убедитесь, что поле установлено в состояниеВключен
, если очередь должна быть активна. - Описание - Краткое описание очереди.
Например: Очередь для обработки стандартных запросов на формирование отчетов. - Сервер (печать) - Сервер базы данных, с которого будут запрашиваться отчеты.
- БД (печать) - База данных, из которой будут получены необходимые данные для формирования отчетов. Если настроена репликационная база данных, рекомендуется использовать её, чтобы минимизировать нагрузку на основную базу данных.
- Вложенная очередь - Наименование вложенной очереди. Имя берется из файла конфигурации
appsettings.Production.json
сервиса печати.
По умолчанию используется наименованиеprint
для очереди общего назначения; для привилегированной очереди -print_adm
.
5. Сохраните изменения.
6. Создайте следом привилегированную очередь print_adm
по примеру общей очереди.
Подключение брокера сообщений к веб-приложению или сервису приложения
Убедитесь, что ваше веб-приложение или сервис приложения версии 25.1 и выше.
Откройте файл конфигурации appsettings.Production.json
веб-приложения (сервиса приложения) и добавьте секцию соединения с брокером сообщений RabbitMQ:
"MessageBroker": {
"Enabled": true,
"Traced": false,
"Address": "amqp://admin:1@<ip-address>:5672"
},
Наименование | Описание |
---|---|
Enabled | true - включить работу с брокером. |
Traced | false - выключить трассировку в Jaeger. |
Address | Адрес подключения к брокеру сообщений (RabbitMQ): amqp://<логин>:<пароль>@<ip-адрес>:<порт> |
Настройка базы SQL-кэша (не является обязательной настройкой)
База SQL-кэша используется для внутреннего журналирования обмена сообщениями между следующими компонентами системы:
- клиентом,
- брокером,
- воркерами.
Она не предназначена для использования на прикладном уровне и не влияет на логику работы сервиса печати. База кэша не хранит данные предметной области (например, печатные формы и т.д.).
База служит общим хранилищем для отслеживания состояния задач, передачи данных между компонентами и обеспечения отказоустойчивости при асинхронной обработке.
1. Если в веб-прилжении используется база кэша PostgreSQL:
База SQL-кэша должна быть общей для сервиса печати и веб-приложения, так как оба компонента взаимодействуют с одним и тем же брокером и воркерами.
Ключ Sqlcache
в файле конфигурации appsettings.Production.json
сервиса печати должен быть настроен на использование PostgreSQL, чтобы обеспечить согласованность и корректное функционирование механизма обмена сообщениями.
Чтобы подключить SqlCache PostgreSQL в сервисе печати:
- Откройте файл конфигурации
appsettings.Production.json
веб приложения. - Скопируйте полностью весь ключ
"SqlCache"
. - Откройте файл конфигурации
appsettings.Production.json
сервиса печати. - Закомментируйте существующий ключ
"SqlCache"
, т.к. он содержит информацию о подключении к базе данных кэша SQLite.
"SystemSettings": {
...
"SqlCache": "Data Source Type=SQLite; Data Source=/var/www/html/wsks_54431/temp/db/wrk.db3",
"SqlCache_disable": "Data Source Type=SQLite; Data Source=/var/www/html/wsks_54431/temp/db/wrk.db3",
...
}
- Вставьте ранее скопированный ключ.
"SystemSettings": {
...
"SqlCache_disable": "Data Source Type=SQLite; Data Source=/var/www/html/wsks_54431/temp/db/wrk.db3",
"SqlCache": "Data Source Type=PostgreSQL; Host=; Port=5434; Database=web_cache1; User ID=ws_user; Password=123; Application Name=cache; Maximum Pool Size=550; App Pool Size=500; CommandTimeout=600",
...
}
- Сохраните изменения и перезапустите сервис печати.
2. Если в веб-прилжении используется база кэша SQLite:
Тип хранилища не имеет значения.
Но крайне рекомендуется подключить PostgreSQL базу кэша к веб-приложению.