Konfiguration
Die Konfiguration des MesoWorkerService erfolgt je nach Installationsmethode unterschiedlich:
- Windows-Dienst: Über die Datei
appsettings.json - Container: Über Umgebungsvariablen
Lizenzierung
Für den Betrieb des MesoWorkerService benötigen Sie eine gültige Lizenz, die Sie von Ihrem Mesonic Partner erhalten.
Erforderliche Angaben:
- Kundennummer: Identifiziert den Lizenzinhaber
- Lizenznummer: Aktiviert die Software
Wichtig: Ohne gültige Lizenz startet der Service nicht.
Verfügbare Module
Der MesoWorkerService besteht aus einem Basisprodukt und vier optionalen Modulen. Jedes Modul muss separat lizenziert werden:
Basisprodukt:
- MESO-WorkerService - Grundfunktionalität des Dienstes (erforderlich)
Module:
-
MESO-WSMAIL - Mesonic WorkerService Erweiterung Mailservice
- Aktiviert
MailWorkerJobfür automatischen E-Mail-Versand aus CRM-Workflows - Aktiviert
NoRuleWarningJobfür Warnungen bei fehlenden Mail-Empfängern
- Aktiviert
-
MESO-WSBELEG - Mesonic WorkerService Erweiterung Belegzeilenworkflows
- Aktiviert
OrderLineWorkerJobfür automatische Workflow-Erzeugung aus Bestelldateizeilen
- Aktiviert
-
MESO-WSGRAPH - Mesonic WorkerService Erweiterung Graph API Terminabgleich
- Aktiviert
AppointmentWorkerJobfür Terminsynchronisation über Microsoft Graph API
- Aktiviert
-
MESO-WSOP - Mesonic WorkerService Erweiterung Offene Posten
- Aktiviert
OpenItemWorkerJobfür automatischen Versand von OP-Infos
- Aktiviert
Modulprüfung beim Start:
Beim Start des Services werden automatisch alle lizenzierten Module erkannt und nur die entsprechenden Jobs aktiviert. Im Log sehen Sie:
Licensed modules: Mail, OrderLine, GraphApi, OpenItem
✓ MESO-WSMAIL (Mailservice) - MailWorkerJob and NoRuleWarningJob will be activated
✓ MESO-WSBELEG (Belegzeilenworkflows) - OrderLineWorkerJob will be activated
✓ MESO-WSGRAPH (Graph API Terminabgleich) - AppointmentWorkerJob will be activated
✓ MESO-WSOP (Offene Posten) - OpenItemWorkerJob will be activated
Falls ein Modul nicht lizenziert ist, wird der entsprechende Job übersprungen:
Job MailWorkerJob requires module Mail which is not licensed - skipping registration
Hinweis: Das Basisprodukt MESO-WorkerService muss immer lizenziert sein. Die Module können je nach Bedarf einzeln oder in Kombination lizenziert werden.
Datenbankverbindungen
Der MesoWorkerService benötigt Zugriff auf zwei Datenbanken:
1. Anwendungsdatenbank (MesoWorkerDb)
- Speichert Konfigurationsdaten, Mail-Journal und Protokolle
- Wird beim ersten Start automatisch erstellt (SQL-Benutzer benötigt
CREATE DATABASE-Rechte) - Connection String Format:
Data Source=SERVER;Initial Catalog=MesoWorkerDb;...
2. WinLine Systemdatenbank (CWLSYSTEM)
- Zugriff auf WinLine Mandanten und Systemdaten
- Connection String Format:
Data Source=SERVER;Initial Catalog=CWLSYSTEM;...
Authentifizierungsoptionen:
- Windows-Authentifizierung:
Integrated Security=true - SQL-Authentifizierung:
User ID=user;Password=pass
Wichtig: Für Container-Deployment muss SQL-Authentifizierung verwendet werden, da Windows-Authentifizierung in Containern nicht unterstützt wird.
WinLine-Integration
WinLine-Pfad:
- Pfad zur WinLine-Installation (z.B.
C:\WinLine\oder/app/winline/) - Erforderlich für Zugriff auf WinLine-Konfigurationsdateien
- Wichtig für Container (Linux): Der WinLine-Pfad ist typischerweise eine Windows-UNC-Freigabe (z.B.
\\winline-server\WinLine), die als Linux-Mountpoint oder Volume in den Container eingebunden werden muss - Wird auch für die Erstellung von CRM-Workflow-Schritten über den WinLine WebService benötigt
TemplateForWorkflowImport:
- Template-ID (numerisch) für den Workflow-Import beim Erstellen von CRM-Workflow-Schritten
- Wird vom Mail-Dienst (Workflow-Schritt-Erstellung) und von der Workflow-Erzeugung aus Bestelldateizeilen verwendet
- Beispiel:
101— muss einer gültigen Workflow-Vorlage in WinLine entsprechen - Bei Wert
0oder fehlender Konfiguration wird die Workflow-Schritt-Erstellung übersprungen
Mesospool Service:
- URL zum Mesospool-Service für Dokumentenarchivierung
- Format:
http://server:42024 - Erforderlich für Anhang-Funktionen
- Wichtig für Container (Linux): Bei Linux-Containern ist der Mesospool-Service zwingend erforderlich, da die unter WinLinePath vorhandene
mesospool.exenicht unter Linux lauffähig ist - Wird generell zur Konvertierung von Archiv-Dateien im WinLine .SPL-Format in PDF-Dateien verwendet
- Falls keine .SPL-Dateien vorliegen, ist der Service optional
WinLine Server (optional):
- URL zum WinLine WebService (z.B.
http://server:8080) - Erforderlich wenn automatische CRM-Workflow-Schritte erstellt werden sollen (z.B. für Workflow-Erzeugung aus Bestelldateizeilen)
- Erforderlich für den Download des OP-Blatts aus FIBU als PDF-Anhang im OP-Modul
- Verwendet den WinLine-Pfad für die Workflow-Schritt-Erstellung
- Benötigt separate Mesonic WebService-Lizenz
MesoArchivWeb (optional):
- BaseUrl: URL zum MesoArchivWeb-Dokumentenarchiv (z.B.
http://archiv-server:5000) - JwtSecret: Gemeinsames JWT-Secret für die Authentifizierung zwischen MesoWorkerService und MesoArchivWeb
- Erforderlich für das Anhängen von Archiv-Dokumenten (Originalrechnungen) im OP-Modul und Mail-Dienst
- Ermöglicht das Erzeugen externer Archiv-Links (
{ArchivLinkExt:...}) in OP-Vorlagen
Session-Einstellungen:
- Standard-Anmeldedaten für WinLine-Sessions
- Mindestanzahl aktiver Sessions
- Validierungsintervall für Sessions
Windows-Dienst Konfiguration
Bei der Windows-Dienst-Installation erfolgt die Konfiguration über die Datei appsettings.json:
{
"Kestrel": {
"Endpoints": {
"Http": { "Url": "http://0.0.0.0:5000" }
}
},
"License": {
"CustomerNr": "12345",
"LicenseNr": "LIZENZNUMMER"
},
"ConnectionStrings": {
"ConnectionString": "Data Source=SQL-SERVER;Initial Catalog=MesoWorkerDb;Integrated Security=true;TrustServerCertificate=true",
"WinLineSystemDBConnectionString": "Data Source=SQL-SERVER;Initial Catalog=CWLSYSTEM;Integrated Security=true;TrustServerCertificate=true"
},
"WinLineSettings": {
"WinLinePath": "C:\\WinLine\\",
"MesospoolServiceUrl": "http://winline-server:42024",
"TemplateForWorkflowImport": 101
},
"WinLineServer": {
"Url": "http://winline-server:8080"
},
"MesoArchivWeb": {
"BaseUrl": "http://archiv-server:5000",
"JwtSecret": "IHR-JWT-SECRET"
},
"SessionSettings": {
"MinimumSessions": 1,
"DefaultUser": "winline-user",
"DefaultPassword": "passwort",
"ValidationInterval": "01:00:00"
},
"SmtpDebug": {
"Enabled": false,
"SaveEmlToDirectory": ""
},
"Quartz": {
"quartz.scheduler.instanceName": "Meso Worker Services Scheduler",
"MailWorkerJob": {
"scheduler": "* * * * * ?",
"enabled": true,
"startnow": true
},
"NoRuleWarningJob": {
"scheduler": "0 0 8 * * ?",
"enabled": true,
"startnow": false
},
"OrderLineWorkerJob": {
"scheduler": "0 */5 * * * ?",
"enabled": true,
"startnow": true
},
"AppointmentWorkerJob": {
"scheduler": "0 */10 * * * ?",
"enabled": true,
"startnow": true
},
"OpenItemWorkerJob": {
"scheduler": "0 0 7 * * ?",
"enabled": true,
"startnow": false
}
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Information",
"System": "Warning"
}
},
"WriteTo": [
{
"Name": "Console"
},
{
"Name": "File",
"Args": {
"path": "Logs/MesoWorkerService-.txt",
"rollingInterval": "Day"
}
}
]
}
}
Wichtige Einstellungen:
- Kestrel: Web-Server-Konfiguration (Standard: Port 5000)
- License: Kundennummer und Lizenznummer (erforderlich)
- ConnectionStrings: Datenbankverbindungen (erforderlich)
- WinLineSettings: WinLine-Integration (erforderlich)
- WinLineServer: URL zum WinLine WebService (optional, für Workflow-Schritte und OP-Blatt)
- MesoArchivWeb: Verbindung zum Dokumentenarchiv (optional, für Archiv-Anhänge im OP-Modul und Mail-Dienst)
- SessionSettings: WinLine-Session-Verwaltung
- SmtpDebug: SMTP-Diagnose-Modus für E-Mail-Fehlerbehebung (siehe SMTP-Debug-Modus)
- Quartz: Job-Zeitplanung für automatische Ausführungen (Cron-Expressions)
- Logging/Serilog: Protokollierungseinstellungen
Umgebungsvariablen (Container-Deployment)
Bei Container-Deployment erfolgt die Konfiguration über Umgebungsvariablen. Eine vollständige Stack-Definition mit allen Umgebungsvariablen und Platzhaltern finden Sie in der Schritt-für-Schritt-Anleitung: Installation mit Portainer.
Konfigurationshinweise:
- Ersetzen Sie
SQL-SERVER,sql-user,sql-passmit Ihren Datenbankzugangsdaten - Ersetzen Sie
winline-server,winline-user,passwortmit Ihren WinLine-Zugangsdaten - Ersetzen Sie
12345undLIZENZNUMMERmit Ihrer Lizenz - Die E-Mail-Einstellungen (SMTP-Server, Absender etc.) werden über die Admin-Oberfläche konfiguriert
- SmtpDebug: Aktivieren Sie
SmtpDebug__Enabled=truenur temporär zur Fehlerdiagnose (siehe SMTP-Debug-Modus) - Wichtig für Linux-Container: Der
MesospoolServiceUrlist bei Linux-Containern zwingend erforderlich, da diemesospool.exeaus dem WinLinePath nicht unter Linux lauffähig ist. Dieser Service wird zur Konvertierung von WinLine .SPL-Archivdateien in PDF verwendet. - Volume-Mapping für WinLine-Pfad: Der WinLine-Pfad (typischerweise eine Windows-UNC-Freigabe wie
\\winline-server\WinLine) muss als Volume in den Container eingebunden werden. Passen Siesourcean Ihren WinLine-Server an. Der Container greift dann über/app/winlinedarauf zu.
Cron-Expressions für Job-Zeitplanung:
* * * * * ?= Jede Sekunde (Mail-Dienst, Standard)0 */5 * * * ?= Alle 5 Minuten (Workflow-Erzeugung)0 */10 * * * ?= Alle 10 Minuten (Terminsynchronisation)0 0 7 * * ?= Täglich um 7:00 Uhr (OP-Versand)0 0 8 * * ?= Täglich um 8:00 Uhr (Überwachungsdienst)
Keine Kommentare vorhanden
Keine Kommentare vorhanden