Individuelle Worker-Konfiguration¶
DATAMIMIC führt alle Hintergrundarbeiten als Celery-Tasks aus. Jeder Task-Typ hat seine eigene Queue, und jeder Worker-Prozess verarbeitet eine konfigurierbare Menge an Queues. Diese Seite erklärt das Task-/Queue-Modell, listet alle unterstützten Tasks auf und zeigt, wie Du Queues den Workern zuordnest, damit kein Task-Typ unbearbeitet bleibt.
Wie das Task-Routing funktioniert¶
- Jeder Task-Typ ist genau einer Queue zugeordnet, die nach dem Task-Typ benannt ist — der Task
data_source_scanwird zum Beispiel an die Queuedata_source_scangeroutet. - Ein Worker verarbeitet nur die Queues, die in seiner Umgebungsvariable
WORKER_QUEUESstehen: eine durch Kommas getrennte Liste von Queue-Namen, ohne Leerzeichen. - Ein Task, dessen Queue von keinem laufenden Worker verarbeitet wird, bleibt in der Warteschlange und läuft nie. Das Aufteilen der Arbeit auf mehrere Worker ist daher eine bewusste Routing-Entscheidung — jede Queue, die Du nutzen möchtest, muss in den
WORKER_QUEUESmindestens eines laufenden Workers auftauchen.
Eigene Topologien müssen jede genutzte Queue abdecken
Das Standard-Deployment liefert Werte, die bereits alle Queues abdecken, und erfordert keine Anpassung. Wenn Du ein eigenes Worker-Layout definierst, stelle sicher, dass jeder Task-Typ, den Deine Nutzer auslösen können, abgedeckt ist — sonst laufen diese Tasks nie. In einem Release neu hinzugekommene Task-Typen (zum Beispiel die Workbench-Scan-Familie data_source_browse, data_source_scan und scan_result_generate_model in 3.5.0) müssen den WORKER_QUEUES eines bestehenden Workers hinzugefügt werden.
Unterstützte Tasks¶
Die Spalte Queue-Name ist exakt der Wert, den Du in WORKER_QUEUES einträgst. Das Label ist die Kurzform, die in der TaskView angezeigt wird. Scope ist einer von: project (von Nutzern ausgelöste, projektgebundene Arbeit), system (globale Wartung, ohne Projekt) oder backup_infrastructure (Backup/Restore, läuft außerhalb des Backup-Scopes).
Synthetische Datengenerierung¶
| Queue-Name | Label | Scope | Beschreibung |
|---|---|---|---|
standard |
GEN-SDN | project | Standard-Generierungslauf (Soft-/Hard-Timeout ~15 Min). |
infinite |
GEN-INF | project | Langlaufende Generierung ohne Timeout. |
timed_5min |
GEN-5M | project | Generierung auf 5 Minuten begrenzt. |
timed_30min |
GEN-30M | project | Generierung auf 30 Minuten begrenzt. |
timed_1hour |
GEN-1H | project | Generierung auf 1 Stunde begrenzt. |
timed_4hour |
GEN-4H | project | Generierung auf 4 Stunden begrenzt. |
timed_8hour |
GEN-8H | project | Generierung auf 8 Stunden begrenzt. |
timed_24hour |
GEN-24H | project | Generierung auf 24 Stunden begrenzt. |
cron |
GEN-SCH | project | Geplanter (Cron-)Generierungslauf, ohne Timeout. |
Modell- und Template-Generierung aus einer Quelle¶
| Queue-Name | Label | Scope | Beschreibung |
|---|---|---|---|
database_generate_model |
DB-GEN-MOD | project | Erzeugt ein DATAMIMIC-Modell aus einer gescannten SQL-Datenbank. |
database_generate_weighting |
DB-GEN-WGT | project | Erzeugt die Verteilungsgewichtung für ein Datenbankmodell. |
json_generate_model |
JSON-GEN-MOD | project | Erzeugt ein Modell aus einem JSON-Beispiel. |
json_generate_template |
JSON-GEN-TMP | project | Erzeugt ein Template aus einem JSON-Beispiel. |
xml_generate_model |
XML-GEN-MOD | project | Erzeugt ein Modell aus einem XML-Beispiel. |
xml_generate_template |
XML-GEN-TMP | project | Erzeugt ein Template aus einem XML-Beispiel. |
csv_generate_model |
CSV-GEN-MOD | project | Erzeugt ein Modell aus einem CSV-Beispiel. |
Data-Workbench-Scan-Familie¶
| Queue-Name | Label | Scope | Beschreibung |
|---|---|---|---|
db_metadata_scan |
DB-META-SCAN | project | Scannt SQL-Datenbank-Metadaten (Workbench Database-Modus). |
data_source_browse |
DS-BROWSE | project | Durchsucht einen Datenquellen-Ort (Datenbanken, Collections, Verzeichnisse, Dateien). |
data_source_scan |
DS-SCAN | project | Scannt eine ausgewählte Tabelle, Collection oder ein Objekt in einen Snapshot. |
scan_result_generate_model |
SCAN-GEN-MOD | project | Erzeugt ein Modell aus einem persistierten Scan-Snapshot. |
Verbindungen, Migration und Git¶
| Queue-Name | Label | Scope | Beschreibung |
|---|---|---|---|
healthcheck |
CHK-ENV | project | Testet eine Umgebungsverbindung (SQL, MongoDB, Kafka, Object Storage). |
gwa_migration |
GWA-MIG | project | Migriert ein GWA-Projekt nach DATAMIMIC. |
ama_migration |
AMA-MIG | project | Migriert eine AMA/EDI-Definition nach DATAMIMIC. |
project_git_push |
GIT-PUSH | project | Pusht Projektänderungen ins konfigurierte Git-Remote. |
project_git_update |
GIT-UPDATE | project | Aktualisiert das Projekt aus seinem Git-Remote. |
System, Wartung und Backup¶
| Queue-Name | Label | Scope | Beschreibung |
|---|---|---|---|
runtime_capabilities_fetch |
RUNTIME-CAPS | system | Holt Runtime-Capability-Metadaten aus der Engine. |
housekeeping |
HOUSEKEEPING | system | Periodische interne Wartung. |
clean_up_project_storage |
CLEAN UP PROJECT STORAGE | project | Entfernt verwaisten Projektspeicher. |
system_backup |
SYSTEM_BACKUP | backup_infrastructure | Sichert die DATAMIMIC-Dateninstanz. |
system_restore |
SYSTEM_RESTORE | backup_infrastructure | Stellt die DATAMIMIC-Dateninstanz aus einem Backup wieder her. |
Empfohlenes Worker-Layout¶
Ein praktikables Layout trennt kurze interaktive Generierung, langlaufende Generierung und operative/Quellen-Tasks auf drei Worker-Gruppen auf. Das entspricht den mit dem Helm-Chart ausgelieferten Werten:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | |
database_generate_weighting einschließen
Die Queue database_generate_weighting (DB-GEN-WGT) muss überall dort verarbeitet werden, wo Datenbank-Modellgenerierung genutzt wird. Wenn Du eine ältere Referenz-values.yaml kopiert hast, prüfe, ob diese Queue auf einem Worker vorhanden ist — sonst werden Gewichtungs-Tasks zwar eingereiht, laufen aber nie.
Eine Queue zu einem Worker hinzufügen¶
- Wähle die Worker-Gruppe, die den Task ausführen soll (kurz-interaktiv, langlaufend oder operativ).
- Füge den Queue-Namen zu den
WORKER_QUEUESdieses Workers hinzu — durch Kommas getrennt, ohne Leerzeichen. - Rolle den Worker aus, damit die neue Konfiguration wirksam wird.
Queue-Namen entsprechen immer dem Task-Typ-Wert (Spalte Queue-Name oben). Erfinde keine Queue-Namen; nur die von der Plattform definierten Werte werden geroutet.
Für Deployments ohne Helm (zum Beispiel Docker Compose) setze dieselbe Umgebungsvariable WORKER_QUEUES am Worker-Container oder in dessen .env-Datei.