| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
| product:settings:system:mass_docs_downloading [15.08.2025 12:22] – [Развертывание в качестве внешнего сервиса] Белугин Александр | product:settings:system:mass_docs_downloading [15.08.2025 13:12] (текущий) – [Принципы настройки сервиса архивирования файлов] Белугин Александр |
|---|
| ==== Требования к программному обеспечению ==== | ==== Требования к программному обеспечению ==== |
| 1. Для запуска сервиса архивации на сервере необходимо: | 1. Для запуска сервиса архивации на сервере необходимо: |
| * установить [[https://dotnet.microsoft.com/ru-ru/download/dotnet/3.1|.Net Core 3.1]]; | * установить [[https://dotnet.microsoft.com/ru-ru/download/dotnet/6.0|.Net 6.0]]; |
| * для учетной записи, из-под которой запускается сервис архивации, необходимо настроить соответствующие права на папку, в которой будут писаться/удаляться файлы. | * для учетной записи, из-под которой запускается сервис архивации, необходимо настроить соответствующие права на папку, в которой будут писаться/удаляться файлы. |
| 2. Необходимо установить архиватор [[https://www.7-zip.org/download.html|7-Zip]] для корректной распаковки скачанных архивов с документами. Чтобы скачанные архивы по умолчанию открывались через данную программу, необходимо убедиться, что файлы с расширением .zip ассоциированы с данным архиватором. | 2. Необходимо установить архиватор [[https://www.7-zip.org/download.html|7-Zip]] для корректной распаковки скачанных архивов с документами. Чтобы скачанные архивы по умолчанию открывались через данную программу, необходимо убедиться, что файлы с расширением .zip ассоциированы с данным архиватором. |
| \\ | \\ |
| |
| ==== Развертывание в качестве внешнего сервиса ==== | ==== Развертывание в качестве внешнего (удаленного) сервиса ==== |
| - Распаковать дистрибутив системы ADVANTA на отдельном сервере | - Распаковать дистрибутив системы ADVANTA на отдельном сервере |
| - Перейти внутри каталога с распакованным дистрибутивом в папку **DocumentsArchivingService**. | - Перейти внутри каталога с распакованным дистрибутивом в папку **DocumentsArchivingService**. |
| |
| <connectionStrings> | <connectionStrings> |
| <add name="busDb" providerName="System.Data.SqlClient" connectionString="Server={server};Database={database};User Id={user};Password={password}; Max Pool Size = 4000"/> | |
| <add name="db" providerName="System.Data.SqlClient" connectionString="Server={server};Database={database};User Id={user};Password={password}; Max Pool Size = 4000"/> | <add name="db" providerName="System.Data.SqlClient" connectionString="Server={server};Database={database};User Id={user};Password={password}; Max Pool Size = 4000"/> |
| | <add name="busDb" providerName="System.Data.SqlClient" connectionString="Server={server};Database={database};User Id={user};Password={password}; Max Pool Size = 4000"/> |
| </connectionStrings> | </connectionStrings> |
| |
| |
| |
| *Обязательные настройки отмечены -звездочкой | **Обязательные настройки отмечены -звездочкой (*)** |
| |
| <configSections> | - ''<configSections>'' (*) - не изменяется |
| | - ''<connectionStrings>'' (*) - настройка параметров подключения сервиса к базе данных системы ADVANTA |
| (*) <connectionStrings> - настройка параметров подключения к базе данных | * ''<add name="db" providerName="System.Data.SqlClient" connectionString="{DbConnectionString}" />'' (*) |
| | * ''name'' - тип подключения, возможные значения: ''db'' |
| <add name="db" providerName="System.Data.SqlClient" connectionString="{DbConnectionString}" /> | * ''providerName'' - указание провайдера для подключения, возможные значения: ''System.Data.SqlClient'' |
| name - тип подключения, возможные значения: | * ''connectionString'' - заменить значение ''{DbConnectionString}'' на корректную строку подключения к базе данных |
| db - | * ''<add name="busDb" providerName="System.Data.SqlClient" connectionString="{DbConnectionString}" />'' |
| providerName - указание провайдера для подключения, возможные значения: | * ''name'' - тип подключения, возможные значения: ''busDb'' - имя строки подключения для шины данных |
| System.Data.SqlClient - | * ''providerName'' - указание провайдера для подключения, возможные значения: ''System.Data.SqlClient'' |
| connectiongString - строка подключения | * ''connectiongString'' - заменить значение ''{DbConnectionString}'' на корректную строку подключения к базе данных |
| <add name="busDb" providerName="System.Data.SqlClient" connectionString="{DbConnectionString}" /> | - ''<appSettings>'' (*) - основные настройки приложения типа ключ-значение ''<add key="{Key}" value="{Value}" />'' - один параметр определяет одну настройку. Описание значений ключей: |
| name - тип подключения, возможные значения: | * ''BusTransportType'' - тип транспорта для шины данных, возможные значения (если в конфиге нет параметра, используется значение ''SqlServer''): |
| busDb - имя строки подключения для шины данных | * ''SqlServer'' - шина данных работает через SQL Server (требует указания в разделе ''<connectionStrings>'' выше строки подключения с именем ''busDb'') |
| providerName - указание провайдера для подключения, возможные значения: | * ''InMemory'' - шина данных работает через память |
| System.Data.SqlClient - | * ''Bus_DocumentsArchivingCommandsQueue:NumberOfWorkers'' - количество обработчиков событий сервиса архивации документов, значение по умолчанию 1 |
| connectiongString - строка подключения к базе в с которой работает шина данных | * ''Bus_DocumentsArchivingCommandsQueue:MaxParallelism'' - максимальный параллелизм обработчиков событий сервиса архивации документов, значение по умолчанию 3 |
| <appSettings> - настройки приложения типа ключ-значение (возможно использование несколько настроек) | * ''ProfilerLogEnable'' (*) - запущена ли запись событий сервиса архивации документов профайлером (''true'' или ''false'') |
| | * ''IsWriteToProfilerLogAllRequests'' (*) - следует ли записывать все события сервиса архивации документов профайлером (''true'' или ''false'') |
| <add key="{Key}" value="{Value}" /> - один параметр определяет одну настройку. Описание значений ключей: | * ''ProfilerAllLogsSizeLimitMegaBytes'' (*) - суммарный лимит (в МБ) журналов профайлера |
| BusTransportType - тип транспорта для шины данных, возможные значения (если в конфиге нет параметра, используется значение SqlServer): | * ''CompressionLevel'' - степень сжатия архивов сервисом архивации документов (значение по умолчанию ''Optimal''): |
| SqlServer - шина данных работает через SQL Server (требует указания в разделе connectionStrings строки подключения с именем busDb) | * ''Optimal'' - максимальное сжатие |
| InMemory - шина данных работает через память | * ''Fastest'' - максимальная скорость архивации |
| Bus_DocumentsArchivingCommandsQueue:NumberOfWorkers - количество обработчиков событий сервиса архивации документов, значение по умолчанию 1 | * ''NoCompression'' - без сжатия |
| Bus_DocumentsArchivingCommandsQueue:MaxParallelism - максимальный параллелизм обработчиков событий сервиса архивации документов, значение по умолчанию 3 | * ''TemporaryArchiveFlat'' - место временного размещения скачанных архивируемых файлов - только для DocumentsArchivingService=Local (значение по умолчанию ''Memory''): |
| ProfilerLogEnable - запущена ли запись событий сервиса архивации документов профайлером (true|false) | * ''Memory'' - оперативная память |
| IsWriteToProfilerLogAllRequests - следует ли записывать все события сервиса архивации документов профайлером (true|false) | * ''FileSystem'' - файловая система |
| ProfilerAllLogsSizeLimitMegaBytes - суммарный лимит (в МБ) журналов профайлера | * ''PathToTemporaryArchiveFlat'' - путь к папке для временного размещения скачанных архивируемых файлов - работает и обязателен только для варианта ''TemporaryArchiveFlat'' = ''FileSystem'' |
| CompressionLevel - степень сжатия архивов сервисом архивации документов (значение по умолчанию Optimal): | - ''<unity>'' - настройки DI-контейнера. Надо выбрать только 1 из вариантов, а второй закомментировать (как в примере выше): |
| Optimal - максимальное сжатие | * ''<register>...первый блок ...</register>'' - при разрешении зависимости в SL.Storage.SqlFileStorageProvider (файлы хранятся в БД) |
| Fastest - максимальная скорость архивации | * ''<register>...второй блок ...</register>'' - при разрешении зависимости в SL.Storage.LocalFileStorageProvider (файлы хранятся на диске, значение ''value'' параметра ''documentsFolder'' должно содержать имя папки с файлами) |
| NoCompression - без сжатия | |
| TemporaryArchiveFlat - место временного размещения скачанных архивируемых файлов (значение по умолчанию Memory): | |
| Memory - оперативная память | |
| FileSystem - файловая система | |
| PathToTemporaryArchiveFlat - путь к папке для временного размещения скачанных архивируемых файлов (необходим при TemporaryArchiveFlat=FileSystem) | |
| <unity> - настройки DI-контейнера | |
| | |
| {} - при разрешении зависимости в SL.Storage.SqlFileStorageProvider | {} - при разрешении зависимости в SL.Storage.LocalFileStorageProvider | |
| \\ | \\ |
| \\ | \\ |
| \\ | \\ |
| ==== Развертывание в качестве локального сервиса ==== | ==== Развертывание в качестве локального сервиса ==== |
| Для использования локального сервиса архивации (встроенного в Cистему), необходимо [[product:settings:system|настраивать]] его в конфигурационном файле ''client.config'' Системы. | Для использования локального сервиса архивации (встроенного в Cистему), устанавливать отдельно его не нужно, но необходимо настраивать параметры сервиса в конфигурационном файле ''client.config'' самой Системы (см. ниже). |
| |
| <callout type="info" icon="true">Рекомендуется разворачивать сервис архивации файлов удаленно, т.е. на отдельном сервере, отличном от сервера, где установлена Система ADVANTA.</callout> | <callout type="info" icon="true">Рекомендуется разворачивать сервис архивации файлов только удаленно, т.е. на отдельном сервере, отличном от сервера, где установлена Система ADVANTA.</callout> |
| | \\ |
| | \\ |
| |
| ===== Принципы настройки сервиса архивирования файлов ===== | ===== Принципы настройки сервиса архивирования файлов ===== |
| |
| |
| **При использовании локального сервиса архивации доступны дополнительные параметры** | **При использовании локального сервиса архивации необходимо настроить дополнительные параметры, кроме указанных выше** |
| |
| <code xml> | <code xml> |
| <add key="DocumentsArchivingService" value="Local" /> | <add key="DocumentsArchivingService" value="Local" /> |
| | |
| <!-- Параметры, по аналогии с примером для удаленного сервиса --> | <!-- Параметры, по аналогии с примером выше для использования удаленного сервиса архивации --> |
| | |
| <!-- Дополнительные параметры при выборе локального сервиса архивации файлов --> | <!-- Дополнительные параметры при выборе локального сервиса архивации файлов --> |