Funktion
Der Microservice sendet statisch konfigurierte Zeiträume (von-Datum bis-Datum) der zu archivierenden Nachrichten in die Work Package Queue. Der Zeitraum wird in einem konfigurierbarem Intervall unterteilt, um den Archivierungsprozess in kleinere Pakete zu unterteilen.
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_STATIC}
period-to: ${PERIOD_TO_STATIC}
split-interval-in-minutes: ${SPLIT_INTERVAL_IN_MINUTES}
Tägliche nachträgliche Archivierung
Für das schrittweise Nachholen größerer Zeiträume enthält das
docker-services-environment
im Verzeichnis retrospective-archiving ein Skript, eine Konfigurationsdatei und
eine Cron-Vorlage.
Bei jedem Aufruf verarbeitet retrospective-archiving.sh das erste noch nicht
auskommentierte Datumsintervall aus retrospective-config.txt. Das Skript
startet den static-starter-service mit diesem Zeitraum und kommentiert die
verarbeitete Zeile anschließend mit einem Zeitstempel aus. Jeder weitere Aufruf
verarbeitet das nächste offene Intervall. Dadurch kann das Skript bei Bedarf
auch mehrfach am selben Tag gestartet werden.
Sind keine offenen Intervalle mehr vorhanden, beendet sich das Skript ohne einen weiteren Archivierungslauf.
Die Konfigurationsdatei enthält pro Zeile ein inklusiv-exklusives Datumsintervall:
2022-05-21 00:00:00 - 2022-05-23 00:00:00
Leere und mit # beginnende Zeilen werden ignoriert.
Die benötigten Intervalle können mit dem
Konfigurationsgenerator
erstellt und anschließend in retrospective-config.txt übernommen werden.
Verarbeitete Zeilen enthalten einen Zeitstempel:
#2022-05-21 00:00:00 - 2022-05-23 00:00:00 processed 2026-07-29 09:15:00
Installation auf dem Server
- Das Verzeichnis
retrospective-archiving/retrospective-archivingaus dem Repository nach<verzeichnis>/retrospective-archivingkopieren. - Das Skript ausführbar machen:
chmod 755 retrospective-archiving/retrospective-archiving.sh - Die Cron-Vorlage installieren:
cp retrospective-archiving/archive-retrospective.cron /etc/cron.d/archive-retrospective chown root:root /etc/cron.d/archive-retrospective chmod 644 /etc/cron.d/archive-retrospective - Den Pfad und die Ausführungszeit in der kopierten Cron-Datei anpassen.
retrospective-config.txtmit den gewünschten Intervallen befüllen.
Der Cronjob startet das Skript täglich um 09:00 Uhr. Die Ausgabe wird in
<verzeichnis>/retrospective-archiving/cron-log.txt geschrieben. Die
mitkopierte README.txt dokumentiert den Prozess auf dem Server.
Betrieb
Das Skript kann bei Bedarf manuell aus dem Installationsverzeichnis gestartet werden:
./retrospective-archiving.sh
Das Protokoll des Cronjobs wird in cron-log.txt geschrieben.
Neue Intervalle werden als nicht auskommentierte Zeilen in
retrospective-config.txt eingefügt.
Releases
Der Service wird in den folgenden Versionen als Docker Container aus dem Repo docker-nob-erp.next-level-apps.com/static-starter-service bereitgestellt.
Bis zur Version 2022-11-23-02 heißt das Image des static-starter-service noch docker-nob-erp.next-level-apps.com/starter-service.
2022-11-23-02
| Ticket | Beschreibung |
|---|---|
| BTOB-8713 | Behebung der Probleme beim Start |
2021-07-23
| Ticket | Beschreibung |
|---|---|
| BTOB-7534 | Umbenennung mit “static” und Verwendung des Services als Tool |
| BTOB-7514 | Initiale Entwicklung |