Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
product:settings:system:mass_docs_downloading [15.08.2025 12:16] – [Развертывание в качестве внешнего сервиса] Белугин Александрproduct:settings:system:mass_docs_downloading [15.08.2025 13:12] (текущий) – [Принципы настройки сервиса архивирования файлов] Белугин Александр
Строка 5: Строка 5:
 ==== Требования к программному обеспечению ==== ==== Требования к программному обеспечению ====
 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 ассоциированы с данным архиватором.
 \\ \\
 \\ \\
-==== Развертывание в качестве внешнего сервиса ==== + 
-  - Перейти в папку **DocumentsArchivingService**. +==== Развертывание в качестве внешнего (удаленного) сервиса ==== 
-  - В папке **Config** настроить конфигурационный файл ''client.config'' сервиса архивации.+  - Распаковать дистрибутив системы ADVANTA на отдельном сервере 
 +  - Перейти внутри каталога с распакованным дистрибутивом в папку **DocumentsArchivingService**. 
 +  - В подпапке **Config** настроить конфигурационный файл ''client.config'' сервиса архивации (см. ниже) и, при желании, выполнить настройки ведения логов в файле '' log4net.config''.
   - Из командной строки установить ''SL.DocumentsArchiving.Service.exe'' (содержится в папке **DocumentsArchivingService**) по команде ''install'', после чего запустить его по команде ''run''.   - Из командной строки установить ''SL.DocumentsArchiving.Service.exe'' (содержится в папке **DocumentsArchivingService**) по команде ''install'', после чего запустить его по команде ''run''.
 \\ \\
  
 === Настройка конфигурации внешнего сервиса === === Настройка конфигурации внешнего сервиса ===
-Файл конфигурации ''client.config' должен быть скопирован в папку публикации сервиса. После редактирования файла конфигурации необходимо перезапустить сервис.+Файл конфигурации ''client.config'' должен быть скопирован в папку публикации сервиса. После редактирования файла конфигурации необходимо перезапустить сервис.
  
-Пример настройки файла конфигурации+Пример настройки файла конфигурации внешнего сервиса архивации
  
 <code xml> <code xml>
Строка 29: Строка 31:
  
   <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>
  
Строка 67: Строка 69:
  
  
-*Обязательные настройки отмечены -звездочкой +**Обязательные настройки отмечены -звездочкой (*)**
- +
-<configSections> +
- +
-(*) <connectionStrings> - настройка параметров подключения к базе данных +
- +
-<add name="db" providerName="System.Data.SqlClient" connectionString="{DbConnectionString}" /> +
-name - тип подключения, возможные значения: +
-db - +
-providerName - указание провайдера для подключения, возможные значения: +
-System.Data.SqlClient - +
-connectiongString - строка подключения +
-<add name="busDb" providerName="System.Data.SqlClient" connectionString="{DbConnectionString}" /> +
-name - тип подключения, возможные значения: +
-busDb - имя строки подключения для шины данных +
-providerName - указание провайдера для подключения, возможные значения: +
-System.Data.SqlClient - +
-connectiongString - строка подключения к базе в с которой работает шина данных +
-<appSettings> - настройки приложения типа ключ-значение (возможно использование несколько настроек) +
- +
-<add key="{Key}" value="{Value}" /> - один параметр определяет одну настройку. Описание значений ключей: +
-BusTransportType - тип транспорта для шины данных, возможные значения (если в конфиге нет параметра, используется значение SqlServer): +
-SqlServer - шина данных работает через SQL Server (требует указания в разделе connectionStrings строки подключения с именем busDb) +
-InMemory - шина данных работает через память +
-Bus_DocumentsArchivingCommandsQueue:NumberOfWorkers - количество обработчиков событий сервиса архивации документов, значение по умолчанию 1 +
-Bus_DocumentsArchivingCommandsQueue:MaxParallelism - максимальный параллелизм обработчиков событий сервиса архивации документов, значение по умолчанию 3 +
-ProfilerLogEnable - запущена ли запись событий сервиса архивации документов профайлером (true|false) +
-IsWriteToProfilerLogAllRequests - следует ли записывать все события сервиса архивации документов профайлером (true|false) +
-ProfilerAllLogsSizeLimitMegaBytes - суммарный лимит (в МБ) журналов профайлера +
-CompressionLevel - степень сжатия архивов сервисом архивации документов (значение по умолчанию Optimal): +
-Optimal - максимальное сжатие +
-Fastest - максимальная скорость архивации +
-NoCompression - без сжатия +
-TemporaryArchiveFlat - место временного размещения скачанных архивируемых файлов (значение по умолчанию Memory): +
-Memory - оперативная память +
-FileSystem - файловая система +
-PathToTemporaryArchiveFlat - путь к папке для временного размещения скачанных архивируемых файлов (необходим при TemporaryArchiveFlat=FileSystem) +
-<unity> - настройки DI-контейнера +
- +
-{} - при разрешении зависимости в SL.Storage.SqlFileStorageProvider | {} - при разрешении зависимости в SL.Storage.LocalFileStorageProvider+
  
 +  - ''<configSections>'' (*) - не изменяется
 +  - ''<connectionStrings>'' (*) - настройка параметров подключения сервиса к базе данных системы ADVANTA
 +    * ''<add name="db" providerName="System.Data.SqlClient" connectionString="{DbConnectionString}" />'' (*)
 +      * ''name'' - тип подключения, возможные значения: ''db''
 +      * ''providerName'' - указание провайдера для подключения, возможные значения: ''System.Data.SqlClient''
 +      * ''connectionString'' - заменить значение ''{DbConnectionString}'' на корректную строку подключения к базе данных
 +    * ''<add name="busDb" providerName="System.Data.SqlClient" connectionString="{DbConnectionString}" />''
 +      * ''name'' - тип подключения, возможные значения: ''busDb'' - имя строки подключения для шины данных
 +      * ''providerName'' - указание провайдера для подключения, возможные значения: ''System.Data.SqlClient''
 +      * ''connectiongString'' - заменить значение ''{DbConnectionString}'' на корректную строку подключения к базе данных
 +  - ''<appSettings>'' (*) - основные настройки приложения типа ключ-значение ''<add key="{Key}" value="{Value}" />'' - один параметр определяет одну настройку. Описание значений ключей:
 +    * ''BusTransportType'' - тип транспорта для шины данных, возможные значения (если в конфиге нет параметра, используется значение ''SqlServer''):
 +      * ''SqlServer'' - шина данных работает через SQL Server (требует указания в разделе ''<connectionStrings>'' выше строки подключения с именем ''busDb'')
 +      * ''InMemory'' - шина данных работает через память
 +    * ''Bus_DocumentsArchivingCommandsQueue:NumberOfWorkers'' - количество обработчиков событий сервиса архивации документов, значение по умолчанию 1
 +    * ''Bus_DocumentsArchivingCommandsQueue:MaxParallelism'' - максимальный параллелизм обработчиков событий сервиса архивации документов, значение по умолчанию 3
 +    * ''ProfilerLogEnable'' (*) - запущена ли запись событий сервиса архивации документов профайлером (''true'' или ''false'')
 +    * ''IsWriteToProfilerLogAllRequests'' (*) - следует ли записывать все события сервиса архивации документов профайлером (''true'' или ''false''
 +    * ''ProfilerAllLogsSizeLimitMegaBytes'' (*) - суммарный лимит (в МБ) журналов профайлера
 +    * ''CompressionLevel'' - степень сжатия архивов сервисом архивации документов (значение по умолчанию ''Optimal''):
 +      * ''Optimal'' - максимальное сжатие
 +      * ''Fastest'' - максимальная скорость архивации
 +      * ''NoCompression'' - без сжатия
 +    * ''TemporaryArchiveFlat'' - место временного размещения скачанных архивируемых файлов - только для DocumentsArchivingService=Local (значение по умолчанию ''Memory''):
 +      * ''Memory'' - оперативная память
 +      * ''FileSystem'' - файловая система
 +    * ''PathToTemporaryArchiveFlat'' - путь к папке для временного размещения скачанных архивируемых файлов - работает и обязателен только для варианта ''TemporaryArchiveFlat'' = ''FileSystem''
 +  - ''<unity>'' - настройки DI-контейнера. Надо выбрать только 1 из вариантов, а второй закомментировать (как в примере выше):
 +    * ''<register>...первый блок ...</register>'' - при разрешении зависимости в SL.Storage.SqlFileStorageProvider (файлы хранятся в БД)
 +    * ''<register>...второй блок ...</register>'' - при разрешении зависимости в SL.Storage.LocalFileStorageProvider (файлы хранятся на диске, значение ''value'' параметра ''documentsFolder'' должно содержать имя папки с файлами)
 +\\
 +\\
  
 === Настройка логирования работы внешнего сервиса архивации === === Настройка логирования работы внешнего сервиса архивации ===
Строка 146: Строка 141:
 \\ \\
 ==== Развертывание в качестве локального сервиса ==== ==== Развертывание в качестве локального сервиса ====
-Для использования локального сервиса архивации (встроенного в Cистему), необходимо [[product:settings:system|настраивать]] его в конфигурационном файле ''client.config'' Системы.+Для использования локального сервиса архивации (встроенного в Cистему), устанавливать отдельно его не нужно, но необходимо настраивать параметры сервиса в конфигурационном файле ''client.config'' самой Системы (см. ниже).
  
-<callout type="info" icon="true">Рекомендуется разворачивать сервис архивации файлов удаленно, т.е. на отдельном сервере, отличном от сервера, где установлена Система ADVANTA.</callout>+<callout type="info" icon="true">Рекомендуется разворачивать сервис архивации файлов только удаленно, т.е. на отдельном сервере, отличном от сервера, где установлена Система ADVANTA.</callout> 
 +\\ 
 +\\
  
 ===== Принципы настройки сервиса архивирования файлов ===== ===== Принципы настройки сервиса архивирования файлов =====
Строка 182: Строка 179:
  
  
-**При использовании локального сервиса архивации доступны дополнительные параметры**+**При использовании локального сервиса архивации необходимо настроить дополнительные параметры, кроме указанных выше**
  
 <code xml> <code xml>
Строка 194: Строка 191:
     <add key="DocumentsArchivingService" value="Local" />     <add key="DocumentsArchivingService" value="Local" />
          
-    <!-- Параметры, по аналогии с примером для удаленного сервиса -->+    <!-- Параметры, по аналогии с примером выше для использования удаленного сервиса архивации -->
          
     <!-- Дополнительные параметры при выборе локального сервиса архивации файлов -->     <!-- Дополнительные параметры при выборе локального сервиса архивации файлов -->