Seon Server-side plugin philosophy
german
Server-seitige Plugins werden (wie der Name schon aussagt) am Seon-Server ausgeführt. Plugins können ausführbare Dateien sein, daher können es Binaries oder Scripte (Shell, Perl, PHP etc.) sein.
Es gibt zwei Arten von Plugins: synchrone und asynchrone.
- Synchrone Plugins werden gestartet und der startende Prozess wartet solange, bis das Plugin beendet wurde.
- Asynchrone Plugins werden gestartet (für das Prozessmanagement sind sie selbst verantwortlich) und der Plugin-Handler beendet sich. Es muss nach Abarbeitung des Plugins ein asynchroner Plugin-Handler aufgerufen werden, der dann die Jobabarbeitung wieder aufnimmt.
Plugins erhalten als Parameter (ohne vorangehendes "-
" zur Deklarierung, dass es sich hierbei um einen anderen Parameter handeln könnte) eine XML-Datei oder die Auftragsnummer, je nach Plugin. Manche Plugins erlauben auch beide Arten von Parametern und/oder weitere Parameter. Mindestens jedoch muss ein Plugin eine XML-Datei als Parameter interpretieren können.
Die Standard-(Fehler-)Ausgabe "stdout
" und "stderr
" werden vom Plugin-Handler aufgenommen und dem Auftrag in die Plugin-Logs hinzugefügt.
Der Returncode des Plugins wird erfasst und bei einem Wert ungleich 0 wird der Auftrag abgebrochen.
Im Abbruchfall werden Dateien mit dem Nodeattribut "copy
" oder "ENGDAT
" automatisch gelöscht, damit keine temporären Dateien als Leichen im Filesystem liegen bleiben.