3. Запуск и остановка Компонента

Компонент не имеет графического интерфейса и запускается автоматически после запуска сервера.

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

При необходимости любой из сервисов/модулей можно остановить и перезапустить.

Данный раздел содержит описание запуска и остановки модулей ручным способом.

Примечание

Программные средства настраиваются в зависимости от используемой конфигурации. Состав модулей приведен в разделе Состав модулей в дистрибутиве документа «Техническое описание Компонента «Витрина данных».

3.1. Prostore

3.1.1. Доступные способы запуска Prostore

Систему Prostore можно запускать при помощи Docker, как JAR-файл или с использованием systemd.

Для запуска Prostore при помощи Docker введите команду:

docker start <название системы>

Процесс запуска Prostore приведен в документации сервиса: https://prostore.datamart.ru/docs_prostore/deployment/getting_started/getting_started.html.

Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название системы>.service со следующим содержимым:

[Unit]
Description="Service for prostore"
After=syslog.target

[Service]
Environment="LANG=en_US.UTF-8"
Environment="JAVA_HOME=/usr/lib/jvm/axiomjdk-java17-amd64/"
Environment="JDK_JAVA_OPTIONS=--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.time=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED"
WorkingDirectory=/egov/dtm-2.6.1/dtm-query-execution-core
User=app
Group=app
ExecStart=/usr/bin/java -jar dtm-query-execution-core-7.6.1.jar

[Install]
WantedBy=multi-user.target

Примените настройки и запустите сервис:

sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service

3.2. Агент проверок

Описание настроек модуля приведено в Настройка программных средств.

3.2.1. Запуск модуля

3.2.1.1. Состав и содержание дистрибутивного пакета

Состав дистрибутива Агента проверок:

  • check-adapter-<version>.jar – исполняемый файл;

  • application.yml – файл конфигурации Агента проверок;

  • schema.sql – файл с описанием схемы базы данных, подлежащей проверке. Файл также содержит описание ограничений между таблицами.

3.2.1.2. Предварительные операции (установка «пре-реквизитов»)

Перед запуском Агента проверок выполните от имени root-пользователя (либо используя команду sudo) следующие действия:

  1. Создайте пользователя {{user}} и группу {{user_group}}, под которым будет работать Агент проверок. Распакуйте дистрибутивный пакет в каталог /distr/app.

  2. Добавьте в каталог /distr/app конфигурационный файл application.yml, подготовленный согласно описанию Раздел 2.2.2.1.

3. Добавьте в каталог /distr/app конфигурационный файл schema.sql, (имя файла должно соответствовать имени схемы, подлежащей проверке) подготовленный согласно описанию Раздел 2.2.2.3.

3.2.1.3. Предусловия выполнения первого запуска Агента проверок версии 2.7.0

  1. Проверьте версию Prostore

    Для хранения персистентных данных новой версии Агента проверок требуется Prostore версии 7.6 и выше

  2. Проверьте тип подключенных датасорсов Prostore:

Данные персистентности хранятся в snapshot-таблицах Prostore, которые поддерживаются только в ADP

  • Если все имеющиеся датасорсы с типом ADP, перейдите к следующему шагу.

  • Если нет ни одного ADP-датасорса, то разверните СУБД PostgreSQL и настройте подключение к Prostore.

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

  1. Перезапустите Агент проверок.

В случае наличия в логах ошибок миграции, устраните возможные причины и повторите запуск Агента проверок.

3.2.1.4. Запуск Агента проверок

Убедитесь, что пользователь {{user}} имеет доступ к директории, в которой установлен Агент проверок (/distr/app).

Пример раздела конфигурации скрипта для запуска Агента проверок с использованием сервиса systemd.

Данный файл, с названием dqf-check-adapter.service, необходимо сохранить в каталог /etc/systemd/system/, указав, при необходимости, корректные пути к файлам:

[Unit]
Description="Check-adapter-dqf-service"
After=syslog.target

[Service]
Type=simple

WorkingDirectory=/distr/app
LimitNOFILE=1048576:1048576

User={{user}}          # указать пользователя
Group={{user_group}}   # указать группу

Environment="JAVA_HOME=/usr/lib/jdk/jdk-17.0.7"
ExecStart=/usr/lib/jdk/jdk-17.0.7/bin/java
      -XX:+FlightRecorder
      -XX:+UseZGC
      -XX:MaxRAMPercentage=80.0
      -XX:+UseContainerSupport
      -XX:+ExplicitGCInvokesConcurrent
      -XX:+HeapDumpOnOutOfMemoryError
      -XX:HeapDumpPath=./heapdump.hprof
      -Dlog4j.configurationFile=./conf/logback.xml
      -Duser.language=ru
      -Dfile.encoding=UTF-8
      -Dcatalina.base=/distr/app
      -jar /distr/app/check-adapter.jar
      --spring.config.location=/distr/app/application.yml

[Install]
WantedBy=multi-user.target

Далее от имени root-пользователя или используя sudo выполните команду по включению, запуску сервиса и проверке его статуса:

sudo systemctl daemon-reload
sudo systemctl enable dqf-check-adapter
sudo systemctl start dqf-check-adapter
sudo systemctl -l status dqf-check-adapter

3.2.1.5. Настройка ротации логов (опционально)

Во избежание переполнения диска лог-файлами, рекомендуется настроить ротацию лог-файлов systemd сервиса.

Настройка логирования осуществляется с помощью файлов конфигурации logrotate и systemd сервиса.

Если этих файлов не существует, их необходимо создать.

Установите пакет logrotate, для rpm-base дистрибутивов выполните команду:

sudo yum install logrotate

Добавьте в файл systemd сервиса (/etc/systemd/system/dqf-check-adapter.service) следующие настройки логирования:

...
[Service]
Type=simple

StandardOutput=append:/var/log/{{ file_name }}
StandardError=append:/var/log/{{ file_name }}

...

Создайте файл конфигурации logrorate (поместить файл в /etc/logrotate.cron/dqf-check-adapter.conf) и поместите в него следующие строки:

/var/log/{{ file_name }} {
   rotate {{ rotate }}
   size {{ file_size }}
   create
   nocompress
   copytruncate
}

где:

  • rotate – какое количество лог файлов оставлять;

  • file_size – размер лог-файла при котором будет происходить ротация.

Создайте файл со скриптом запуска утилиты logrotate, поместите скрипт по пути /etc/logrotate.cron/datasteward_logrotate.sh.

3.2.2. Остановка модуля

Для ручной остановки необходимо подключиться по ssh к серверу, найти процесс, который содержит jar-файл и остановить его.

Пример:

ps aux | grep   check-adapter
kill <pid>

kill «номер процесса».

3.3. Сервис генерации уникального номера (Counter-provider)

Описание настроек модуля приведено в Настройка программных средств.

Приведенные ниже шаги необходимо выполните при первом запуске Counter-provider версии 2.7.0 с персистентностью в Prostore.

  1. Задайте необходимые настройки в конфигурационном файле модуля новой версии.

    При кастомизации шага инкремента номеров счетчиков (counter.increment-gap), он устанавливается одинаковым для всех экземпляров модуля. При установке increment-gap >1 возможны пропуски генерируемой последовательности значений после обновления или при перезапуске модуля.

  2. Для обновления выберите период минимальной прикладной активности

  3. Остановите Counter-provider

  4. Запустите Counter-provider версии 2.7.0 в одном экземпляре.

В случае запуска нескольких экземпляров возможны ошибки при выполнении миграции.

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

В случае наличия в логах ошибок миграции, необходимо устранить возможные причины и повторить запуск одного экземпляра Counter-provider новой версии.

Модуль можно запускать помощи Docker, как JAR-файл или с использованием systemd.

Для запуска модуля при помощи Docker введите команду:

docker start <название модуля>

Для запуска модуля из JAR-файла, введите команду:

java
    [-Dconfig.location=<путь до application.yml> ]
    [-Dlogging.config=logback.xml]
    -jar <путь jar>

Команды, заключенные в [], выполняются опционально.

Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название модуля>.service со следующим содержимым:

[Unit]
Description=<описание>
After=network.target

[Service]
Type=simple
User=<пользователь>
WorkingDirectory=<путь до каталога с jar и logback.xml>
ExecStart=<путь до исполняемого файла java> -Dconfig.location=<путь до конфига> -Dlogging.config=logback.xml -jar <путь до jar>
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Примените настройки и запустите сервис:

sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service

Остановка модуля выполняется при помощи Docker-команды:

docker stop <название модуля>

Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его.

Пример:

ps aux | grep <название модуля>
kill <pid>

3.4. Сервис формирования документов

Описание настроек модуля приведено в разделе Настройка программных средств.

3.4.1. Запуск модуля

Модуль можно запускать помощи Docker, как JAR-файл или с использованием systemd.

Для запуска модуля при помощи Docker введите команду:

docker start <название модуля>

Для запуска модуля из JAR-файла, введите команду:

java
    [-Dconfig.location=<путь до application.yml> ]
    [-Dlogging.config=logback.xml]
    -jar <путь jar>

Команды, заключенные в [], выполняются опционально.

Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название модуля>.service со следующим содержимым:

[Unit]
Description=<описание>
After=network.target

[Service]
Type=simple
User=<пользователь>
WorkingDirectory=<путь до каталога с jar и logback.xml>
ExecStart=<путь до исполняемого файла java> -Dconfig.location=<путь до конфига> -Dlogging.config=logback.xml -jar <путь до jar>
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Примените настройки и запустите сервис:

sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service

3.4.2. Остановка модуля

Остановка модуля выполняется при помощи Docker-команды:

docker stop <название модуля>

Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его.

Пример:

ps aux | grep <название модуля>
kill <pid>ы

3.5. СМЭВ3-адаптер

3.5.1. Запуск модуля

Модуль можно запускать помощи Docker, как JAR-файл или с использованием systemd.

Для запуска модуля при помощи Docker введите команду:

docker start <название модуля>

Для запуска модуля из JAR-файла, введите команду:

java
    --add-exports=java.base/sun.security.util=ALL-UNNAMED \
    --add-exports=java.base/sun.security.x509=ALL-UNNAMED \
    --add-exports=java.base/sun.security.pkcs=ALL-UNNAMED \
    --add-exports=java.base/sun.security.provider=ALL-UNNAMED \
    --add-exports=java.base/sun.security.tools.keytool=ALL-UNNAMED \
    --add-exports=java.base/sun.net.ftp=ALL-UNNAMED \
    --add-opens=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED \
    --add-opens=java.xml/org.w3c.dom=ALL-UNNAMED \
    [-Dconfig.location=<путь до application.yml> ]
    [-Dlogging.config=logback.xml]
    -jar <путь jar>

Команды, заключенные в [], выполняются опционально.

Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название модуля>.service со следующим содержимым:

[Unit]
Description=<описание>
After=network.target

[Service]
Type=simple
User=<пользователь>
WorkingDirectory=<путь до каталога с jar и logback.xml>
Environment="JDK_JAVA_OPTIONS=\
--add-exports=java.base/sun.security.util=ALL-UNNAMED \
--add-exports=java.base/sun.security.x509=ALL-UNNAMED \
--add-exports=java.base/sun.security.pkcs=ALL-UNNAMED \
--add-exports=java.base/sun.security.provider=ALL-UNNAMED \
--add-exports=java.base/sun.security.tools.keytool=ALL-UNNAMED \
--add-exports=java.base/sun.net.ftp=ALL-UNNAMED \
--add-opens=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED \
--add-opens=java.xml/org.w3c.dom=ALL-UNNAMED"
ExecStart=<путь до исполняемого файла java> -Dconfig.location=<путь до конфига> -Dlogging.config=logback.xml -jar <путь до jar>
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Примените настройки и запустите сервис:

sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service

3.5.2. Остановка модуля

Остановка модуля выполняется при помощи Docker-команды:

docker stop <название модуля>

Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его.

Пример:

ps aux | grep <название модуля>
kill <pid>

3.6. СМЭВ QL Сервер

Описание настроек модуля приведено в разделе Настройка программных средств.

3.6.1. Быстрый старт

3.6.1.1. Создание и конфигурация

Создать новое приложение СМЭВ QL Сервера командой:

java -jar smevql-server-all.jar new <new-app-name>

Данная команда создаст структуру папок сервера и исполняемый файл smevql внутри <new-app-name>.

3.6.1.2. Запуск и управление

Запуск СМЭВ QL Сервера осуществляется командой:

./smevql start -e <environment>
  • environment - задается название среды разработки. Без указания окружения сервер будет запущен в development.

В момент запуска приложения выполняются проверки наличия и корректности заполнения конфигурационного файла и файлов моделей.

Типовые ошибки представлены ниже:

Тип ошибки: Некорректный формат или отсутствие файла модели

Пример лог-записи: {«@timestamp»:»2024-01-10T16:25:55.460659+03:00»,»@version»:»1»,»message»:»Ошибка старта сервера»,»logger_name»:»ru.gov.digital.smevql.server.RequestHandler»,»thread_name»:»main»,«level»:»ERROR»,»level_value»:40000,»stack_trace»:»java.lang.RuntimeException: Ошибка парсинга модели данных из файла

Тип ошибки: Некорректно заполнен конфигурационный файл

Пример лог-записи: {«@timestamp»:»2024-01-10T16:27:01.202248+03:00»,»@version»:»1»,»message»:»Ошибка старта сервера»,»logger_name»:»ru.gov.digital.smevql.server.RequestHandler»,»thread_name»:»main»,«level»:»ERROR»,»level_value»:40000,»stack_trace»:»net.mamoe.yamlkt.YamlDecodingException:Top-level decoder: Yaml Block Map: bad indentation, baseIndent=0, newIndent=2n uri: smevql/api/v1

Остановка СМЭВ QL Сервера осуществляется командой:

./smevql stop

Перезапуск СМЭВ QL Сервера осуществляется командой:

./smevql restart

3.6.1.3. Работа с сервером

3.6.1.3.1. Генераторы

Генераторы создают папки и файлы-шаблоны с начальными значениями. Для запуска генератора можно использовать полную команду ./smevql generate или короткий алиас ./smevql g.

Новый пустой источник генерируется командой:

./smevql g source <source-name>

Пример источника на основе Prostore:

prostore_source:
type: rest
version: '1.0'
adapter: prostore
protocol: http
host: smevql-dtm-prostore01.ru-central1.internal
port: 9090
path: api/v1/datamarts/query?format=json
headers:
    - content-type: application/json
threads-count: 4
connection-timeout: 30

Новая модель генерируется командой:

./smevql g model <model-name>

Пример модели:

resources:
- mo: *base_model
    name: Медицинская организация
    description: Логическая таблица "Медицинская организация"
    fields:
    <<: *default_fields
    parent_id:
        <<: *ds
        name: parent_id
    update_ts:
        <<: *dts
        name: update_ts
    address:
        <<: *ds
        name: address
    address_fias_guid:
        <<: *ds
        name: address_fias_guid
    enabled:
        <<: *ds
        name: enabled
    name:
        <<: *ds
        name: name
    region_okato:
        <<: *ds
        name: region_okato
    create_ts:
        <<: *dts
        name: create_ts
    id:
        <<: *pks
        name: id
    rmis_id:
        <<: *ds
        name: rmis_id
    phone:
        <<: *ds
        name: phone
    connections:
    has_many: []
    belongs_to:
    - attachment:
        primary_key: [ mo_id ]
        foreign_key: [ id ]
    - resource:
        primary_key: [ mo_id ]
        foreign_key: [ id ]
    extract:
    source:
        - name: prostore
        table: misdm02.mo
- profilecode_resource: *base_model
- resource: *base_model
- observation: *base_model
- book: *base_model
- slot: *base_model
- monitoring: *base_model
- referral: *base_model
- attachment: *base_model
- patient: *base_model
- service: *base_model
- unaccessible_period: *base_model

Из существующего Prostore модель генерируется командой:

./smevql schema-gen test -h localhost -p 9090 -d demo_view
  • test - имя директории, куда будет выгружена модель;

  • -h localhost -p 9090 - это хост и порт Prostore;

  • -d demo_view - витрина (схема).

3.6.1.4. Сборка проекта

Собрать проект можно с помощью gradle:

./gradlew clean build

3.7. Стандартный загрузчик

3.7.1. Запуск модуля

Модуль можно запускать помощи Docker, как JAR-файл или с использованием systemd.

Для запуска модуля при помощи Docker введите команду:

docker start <название модуля>

Для запуска модуля из JAR-файла, введите команду:

java
    [-Dconfig.location=<путь до application.yml> ]
    [-Dlogging.config=logback.xml]
    -jar <путь jar>

Команды, заключенные в [], выполняются опционально.

Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название модуля>.service со следующим содержимым:

[Unit]
Description=<описание>
After=network.target

[Service]
Type=simple
User=<пользователь>
WorkingDirectory=<путь до каталога с jar и logback.xml>
ExecStart=<путь до исполняемого файла java> -Dconfig.location=<путь до конфига> -Dlogging.config=logback.xml -jar <путь до jar>
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Примените настройки и запустите сервис:

sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service

3.7.2. Остановка модуля

Остановка модуля выполняется при помощи Docker-команды:

docker stop <название модуля>

Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его.

Пример:

ps aux | grep <название модуля>
kill <pid>

3.8. BLOB-адаптер

Описание настроек модуля приведено в разделе Настройка программных средств.

3.8.1. Запуск модуля

Модуль можно запускать помощи Docker, как JAR-файл или с использованием systemd.

Для запуска модуля при помощи Docker введите команду:

docker start <название модуля>

Для запуска модуля из JAR-файла, введите команду:

java
    [-Dconfig.location=<путь до application.yml> ]
    [-Dlogging.config=logback.xml]
    -jar <путь до jar>

Команды, заключенные в [], выполняются опционально.

Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название модуля>.service со следующим содержимым:

[Unit]
Description=<описание>
After=network.target

[Service]
Type=simple
User=<пользователь>
WorkingDirectory=<путь до каталога с jar и logback.xml>
ExecStart=<путь до исполняемого файла java> -Dconfig.location=<путь до конфига> -Dlogging.config=logback.xml -jar <путь до jar>
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Примените настройки и запустите сервис:

sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service

3.8.2. Остановка модуля

Остановка модуля выполняется при помощи Docker-команды:

docker stop <название модуля>

Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его.

Пример:

ps aux | grep <название модуля>
kill <pid>

3.9. CSV-Uploader

Описание настроек модуля приведено в разделе Настройка программных средств.

3.9.1. Запуск модуля

Модуль можно запускать помощи Docker, как JAR-файл или с использованием systemd.

Для запуска модуля при помощи Docker введите команду:

docker start <название модуля>

Для запуска модуля из JAR-файла, введите команду:

java
    [-Dconfig.location=<путь до application.yml> ]
    [-Dlogging.config=logback.xml]
    -jar <путь jar>

Команды, заключенные в [], выполняются опционально.

Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название модуля>.service со следующим содержимым:

[Unit]
Description=<описание>
After=network.target

[Service]
Type=simple
User=<пользователь>
WorkingDirectory=<путь до каталога с jar и logback.xml>
ExecStart=<путь до исполняемого файла java> -Dconfig.location=<путь до конфига> -Dlogging.config=logback.xml -jar <путь до jar>
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Примените настройки и запустите сервис:

sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service

3.9.2. Остановка модуля

Остановка модуля выполняется при помощи Docker-команды:

docker stop <название модуля>

Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его.

Пример:

ps aux | grep <название модуля>
kill <pid>

3.10. DATA-uploader – Модуль исполнения асинхронных заданий

Описание настроек модуля приведено в разделе Настройка программных средств.

3.10.1. Запуск модуля

Модуль можно запускать помощи Docker, как JAR-файл или с использованием systemd.

Для запуска модуля при помощи Docker введите команду:

docker start <название модуля>

Для запуска модуля из JAR-файла, введите команду:

java
    [-Dconfig.location=<путь до application.yml> ]
    [-Dlogging.config=logback.xml]
    -jar <путь jar>

Команды, заключенные в [], выполняются опционально.

Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название модуля>.service со следующим содержимым:

[Unit]
Description=<описание>
After=network.target

[Service]
Type=simple
User=<пользователь>
WorkingDirectory=<путь до каталога с jar и logback.xml>
ExecStart=<путь до исполняемого файла java> -Dconfig.location=<путь до конфига> -Dlogging.config=logback.xml -jar <путь до jar>
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Примените настройки и запустите сервис:

sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service

3.10.2. Остановка модуля

Остановка модуля выполняется при помощи Docker-команды:

docker stop <название модуля>

Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его.

Пример:

ps aux | grep <название модуля>
kill <pid>

3.11. REST-Uploader – Модуль асинхронной загрузки данных из сторонних источников

Описание настроек модуля приведено в разделе Настройка программных средств.

3.11.1. Запуск модуля

Модуль можно запускать помощи Docker, как JAR-файл или с использованием systemd.

Для запуска модуля при помощи Docker введите команду:

docker start <название модуля>

Для запуска модуля из JAR-файла, введите команду:

java
    [-Dconfig.location=<путь до application.yml> ]
    [-Dlogging.config=logback.xml]
    -jar <путь jar>

Команды, заключенные в [], выполняются опционально.

Для запуска модуля при помощи systemd создайте unit-файл /etc/systemd/system/<название модуля>.service со следующим содержимым:

[Unit]
Description=<описание>
After=network.target

[Service]
Type=simple
User=<пользователь>
WorkingDirectory=<путь до каталога с jar и logback.xml>
ExecStart=<путь до исполняемого файла java> -Dconfig.location=<путь до конфига> -Dlogging.config=logback.xml -jar <путь до jar>
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Примените настройки и запустите сервис:

sudo systemctl daemon-reload
sudo systemctl enable --now <название модуля>.service

3.11.2. Остановка модуля

Остановка модуля выполняется при помощи Docker-команды:

docker stop <название модуля>

Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его.

Пример:

ps aux | grep <название модуля>
kill <pid>

3.11.3. Добавление поставщика данных

Для добавления поставщика данных должен генерироваться токен авторизации, который передается поставщику.

Генерация токена осуществляется по следующим шагам:

  1. Открыть web-страницу https://jwt.io/;

  2. Выбрать алгоритм HS256;

  3. Ввести в payload следующие поля:

{
"sub": "1234567890",
"iss": "John Doe"
}

где:

  • sub - идентификатор поставщика данных, для которого сформирован токен;

  • iss - кем сформирован токен.

Подпись токена формируется методом получения хеш-функции SHA-256 с секретом. Для этого нужно в verify signature в поле your-256-bit-secret ввести значение из test-secret настроек сервиса REST-uploader.

Для добавления идентификатора поставщика данных в Базу данных Redis необходимо в структуре set, содержащую идентификаторы поставщика данных, выполнить операцию SADD:

SADD ids ProviderID

где:

  • ids - ключ, по которому осуществляется доступ к набору элементов;

  • ProviderID - идентификатор поставщика данных.

В случае когда ожидание ответа на запрос превысило указанное количество времени, необходимо сделать повторный запрос.

В случае возникновения ошибок при обработке файлов сотрудникам, загружаюмщим данные, необходимо изучить возврат REST-Uploader. Если ошибка внутренняя, то необходимо обратиться к администратору Витрины данных. Администратор изучит логи REST-Uploader / Data-Uploader.