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

6.1. Предусловия выполнения первого запуска сервиса генерации уникального номера

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

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

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

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

  3. Остановите сервис генерации уникального номера

  4. Запустите сервис генерации уникального номера версии 2.7.0 в одном экземпляре.

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

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

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

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>

где pid - «номер процесса».