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

6.1. Предусловия выполнения первого запуска Counter-provider версии 2.7.0

Приведенные ниже шаги необходимо выполните при первом запуске 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 новой версии.

6.2. Доступные способы запуска модуля

Модуль можно запускать помощи 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

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

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

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

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

Пример:

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