.. _counter_provider_start: Запуск модуля ^^^^^^^^^^^^^^^^^^^ Предусловия выполнения первого запуска сервиса генерации уникального номера ############################################################################# Приведенные ниже шаги необходимо выполнить при первом запуске сервиса генерации уникального номера версии 2.7.0 с персистентностью в Prostore. 1. Задайте необходимые настройки в конфигурационном файле модуля новой версии. При кастомизации шага инкремента номеров счетчиков (``counter.increment-gap``) он устанавливается одинаковым для всех экземпляров модуля. При установке ``increment-gap >1`` возможны пропуски генерируемой последовательности значений после обновления или при перезапуске модуля. 2. Для обновления выберите период минимальной прикладной активности 3. Остановите сервис генерации уникального номера 4. Запустите сервис генерации уникального номера версии 2.7.0 **в одном экземпляре**. *В случае запуска нескольких экземпляров возможны ошибки при выполнении миграции.* После успешного выполнения миграции (модуль запущен, в логах отсутствуют ошибки миграции) при необходимости выполнить запуск других экземпляров. В случае наличия в логах ошибок миграции, необходимо устранить возможные причины и повторить запуск **одного** экземпляра сервиса генерации уникального номера новой версии. Доступные способы запуска модуля ################################### Модуль можно запускать при помощи Docker, как JAR-файл или с использованием systemd. .. пробуем sphinx-design .. tab-set:: .. tab-item:: Запуск из Docker Для запуска модуля при помощи Docker введите команду: .. code-block:: bash docker start <название модуля> .. tab-item:: Запуск JAR-файла Для запуска модуля из JAR-файла, введите команду: .. code-block:: bash java [-Dconfig.location=<путь до application.yml> ] [-Dlogging.config=logback.xml] -jar <путь jar> Команды, заключенные в ``[]``, выполняются опционально. .. tab-item:: Запуск с использованием systemd Для запуска модуля при помощи systemd создайте unit-файл ``/etc/systemd/system/<название модуля>.service`` со следующим содержимым: .. code-block:: bash [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 Примените настройки и запустите сервис: .. code-block:: bash sudo systemctl daemon-reload sudo systemctl enable --now <название модуля>.service Остановка модуля ^^^^^^^^^^^^^^^^^^^^^^^ Остановка модуля выполняется при помощи Docker-команды: .. code-block:: bash docker stop <название модуля> Для ручной остановки необходимо подключиться по SSH к серверу, найти нужный процесс и остановить его. Пример: .. code-block:: bash ps aux | grep <название модуля> kill где ``pid`` - «номер процесса».