Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных


Описание


Сервис eltex-bruce выполняет роль менеджера задач для сервиса eltex-jobs - формирует задачи и отслеживает статус их выполнения. Параметры задач хранятся в базе данных mongo


Установка


Сервис устанавливается с помощью пакетного менеджера командой

apt install eltex-bruce

Настройка


Конфигурационный файл для настройки доступен по пути /etc/eltex-bruce/application.properties

# порт используемый сервисом
server.port=8008

# ip-адрес сервиса eltex-jobs
server.address.jobs=http://localhost:9696

spring.quartz.job-store-type=memory

# название базы данных, в которой ELTEX-BRUCE будет хранить данные
spring.data.mongodb.database=scheduler

# адрес базы данных
spring.data.mongodb.uri=mongodb://localhost/scheduler

spring.quartz.properties.org.quartz.scheduler.instanceName=jobs-quartz
spring.quartz.properties.org.quartz.scheduler.instanceId=AUTO
spring.quartz.properties.org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
spring.quartz.properties.org.quartz.threadPool.threadCount=10
spring.quartz.properties.org.quartz.threadPool.threadPriority=5
spring.quartz.properties.org.quartz.jobStore.misfireThreshold=12000000000


Файл настройки инициализации сервиса /etc/default/eltex-bruce

# Scheduling service

# HTTP Port for use by Eltex Bruce  -- порт, использующийся сервисом
PORT=8008

# Initial size of Java heap -- выделение оперативной памяти для инициализации
JAVA_INIT_HEAP=32m
# Maximum size of Java heap -- ограничение потребления оперативной памяти для java-приложения
JAVA_MAX_HEAP=256m

# Additional arguments to pass to java -- Дополнительные аргументы для запуска java-приложения
JAVA_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/eltex-bruce

Управление сервисом


ДействиеКомандаОтвет
Проверка состоянияservice eltex-bruce status

Сервис запущен:

Active: active (running)

Cервис не запущен:

Active: failed

Запуск сервисаservice eltex-bruce start

Сервис успешно запущен:

Active: active (running)

Остановка сервисаservice eltex-bruce stop

Сервис успешно остановлен:

Active: failed

Перезапуск сервисаservice eltex-bruce restart

Сервис успешно перезапущен:

Active: active (running)

Докеризация сервиса


Сервис может быть запущен в docker-контейнере. Для этого необходимо подготовить файл с переменными окружения .env и docker-compose.yml.

docker-compose.yaml
version: "3"
services:
  eltex-bruce:
    ports:
      # Проброс порта из контейнера на хост. На этот порт обращается ЛК B2B.
      - "8008:${SERVER_PORT}"
    container_name: eltex-bruce
    image: hub.eltex-co.ru/softwlc/eltex-bruce:1.20-<tag>
    environment:
      # Настроить порт внутри контейнера. По-умолчанию 8008
      - SERVER_PORT=${SERVER_PORT}
      # Настроить адрес сервиса Jobs. Можно также объединить в один compose и создать одну сеть для сервисов.
      - SERVER_ADDRESS_JOBS=${SERVER_ADDRESS_JOBS}
      - SPRING_QUARTZ_JOBSTORETYPE=${SPRING_QUARTZ_JOBSTORETYPE}
      - SPRING_DATA_MONGODB_DATABASE=${SPRING_DATA_MONGODB_DATABASE}
      # Настроить адрес MongoDB.
      - SPRING_DATA_MONGODB_URI=${SPRING_DATA_MONGODB_URI}
      - SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_SCHEDULER_INSTANCENAME=${SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_SCHEDULER_INSTANCENAME}
      - SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_SCHEDULER_INSTANCEID=${SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_SCHEDULER_INSTANCEID}
      - SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_THREADPOOL_CLASS=${SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_THREADPOOL_CLASS}
      - SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_THREADPOOL_THREADCOUNT=${SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_THREADPOOL_THREADCOUNT}
      - SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_THREADPOOL_THREADPRIORITY=${SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_THREADPOOL_THREADPRIORITY}
      - SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_JOBSTORE_MISFIRETHRESHOLD=${SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_JOBSTORE_MISFIRETHRESHOLD}
      # Настройка перенаправления логов в Graylog
      - BRUCE_GELF_HOST=${BRUCE_GELF_HOST}
      - BRUCE_GELF_PORT=${BRUCE_GELF_PORT}
      - BRUCE_GELF_LEVEL=${BRUCE_GELF_PORT}
Вместо <tag> необходимо указать актуальную версию, которую можно посмотреть по ссылке.
.env
SERVER_PORT=8008
SERVER_ADDRESS_JOBS=http://localhost:9696
SPRING_QUARTZ_JOBSTORETYPE=memory
SPRING_DATA_MONGODB_DATABASE=scheduler
SPRING_DATA_MONGODB_URI=mongodb://localhost/scheduler

SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_SCHEDULER_INSTANCENAME=jobs-quartz
SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_JOBSTORE_MISFIRETHRESHOLD=12000000000
SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_THREADPOOL_CLASS=org.quartz.simpl.SimpleThreadPool
SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_SCHEDULER_INSTANCEID=AUTO
SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_THREADPOOL_THREADPRIORITY=5
SPRING_QUARTZ_PROPERTIES_ORG_QUARTZ_THREADPOOL_THREADCOUNT=10

BRUCE_GELF_HOST=localhost
BRUCE_GELF_PORT=12201
BRUCE_GELF_LEVEL=INFO

Описание переменных (environment)

Запуск сервиса

  • SERVER_PORT - порт, на котором сервис будет работать внутри контейнера;

Подключение к БД (MongoDB)

  • SPRING_DATA_MONGODB_URI - URI для подключекния к БД MongoDB;

Подключение к сервису Jobs

  • SERVER_ADDRESS_JOBS - URL для подключения к сервису Jobs;

Настройка перенаправления логов на сервер Graylog

  • BRUCE_GELF_LEVEL - уровень логов, перенаправляемых в Graylog
  • BRUCE_GELF_HOST - адрес хоста Graylog
  • BRUCE_GELF_PORT - порт хоста Graylog


Файлы .env и docker-compose.yml должны находиться в одной папке. Контейнер запускается командой:

command
 docker-compose up -d
  • Нет меток