Seon Server-side plugin philosophy

From Seon
Revision as of 11:42, 27 March 2007 by Admin (talk | contribs) (New page: == 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 (Shel...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.

english