Dynamic Starter Service

Funktion

Der Microservice sendet dynamisch berechnete Zeiträume (z.b. alle Nachrichten älter als 60 Tage) in die Work Package Queue. Dazu wird dieser typischerweise periodisch per Cron gestartet. Der (noch zu archivierend) angegebene Zeitraum wird in Intervalle konfigurierbarer Größe unterteilt, um das Laden der Nachrichten zur Archivierung in kleinere Pakete zu teilen.

Konfiguration

Die Konfiguration des Microservices geschieht über die im “docker-compose”-Datei angegebene “application.yml”. Für die Konfiguration der Placeholder siehe Installation.

Das Standard Docker Image enthält die folgenden Konfigurationsmöglichkeiten:

spring:
  rabbitmq:
      host: ${RABBITMQ_HOST}
      port: ${RABBITMQ_PORT}
      username: ${RABBITMQ_USER}
      password: ${RABBITMQ_PASSWORD}
production_queue: work_package_queue
starter:
  period-from: ${PERIOD_FROM}
  period-to: ${PERIOD_TO}
  split-interval-in-minutes: ${SPLIT_INTERVAL_IN_MINUTES}
statefile:
  file-name: statefile.properties
  last-period-to: lastPeriodTo

Statefile

Das Ende des zuletzt verarbeiteten Zeitraums wird in der Statefile-Datei gespeichert. Beim nächsten Lauf wird dieser Zeitpunkt als Beginn des neuen Zeitraums betrachtet. Die Datei befindet sich im Docker-Container, kann jedoch zur besseren Kontrolle nach außen gemountet werden. Wenn der zu archivierende Zeitraum angepasst wird, ist es wichtig, die Statefile-Datei zu löschen oder zu leeren. Falls die Datei nicht gemountet ist, kann dies auch durch das Löschen und die Neuanlage des Containers erreicht werden.

Releases

Der Service wird in den folgenden Versionen als Docker Container aus dem Repo docker-nob-erp.next-level-apps.com/dynamic-starter-service bereitgestellt.

2021-07-28

Ticket Beschreibung
BTOB-7534 Initiale Entwicklung
View Me   Edit Me