Click or drag to resize

WorkerShell Klasse

Kapselt den Aufruf einer externen Arbeitsroutine, die als Reaktion auf eine definierte Änderung des Tree-Zustands (TreeEvent) als externe Exe ausgeführt wird (fire and forget) TODO: später eventuell auch als lightweight Dll-Plugin realisieren.
Vererbungshierarchie
SystemObject
  LogicalTaskTreeNodeShellBase
    LogicalTaskTreeWorkerShell

Namensraum: LogicalTaskTree
Assembly: LogicalTaskTree (in LogicalTaskTree.dll) Version: 1.0.0+d75bac576d44afb64cfff79fd3665c8ca1172cbc
Syntax
public class WorkerShell : NodeShellBase, 
	INodeWorker

Der WorkerShell Typ exponiert die folgenden Member.

Konstruktoren
 NameBeschreibung
Public MethodeWorkerShell(String, XElement) Konstruktor - übernimmt den Pfad zur Worker-Exe, und einen Parameter-String, der beim Aufruf der Exe zusätzlich übergeben wird. Der Parameter-String kann neben beliebigen, durch die Programm-Session auflösbaren Platzhaltern folgende Platzhalter enthalten, die beim Aufruf der Worker-Exe durch aktuelle Laufzeit-Werte ersetzt werden: "%Event%" = Name des Ereignisses, das zum Aufruf des Workers geführt hat, "%Source%" = Quelle des Ereignisses (Knoten, in dem das Ereignis zuerst aufgetreten ist), "%Sender%" = Knoten, der aufgrund des Ereigniss aktuell den Worker aufruft, "%Timestamp%" = aktuelles Datum mit aktueller Uhrzeit im Format "dd.MM.yyyy HH.mm.ss", "%Logical%" = aktueller logischer Wert des Senders, "%Exception%" = Exception.Message, falls %Event% gleich "Exception" ist, ansonsten "".
Public MethodeWorkerShell(String, XElement, Boolean, INodeTrigger) Konstruktor - übernimmt den Pfad zur Worker-Exe, und einen Parameter-String, der beim Aufruf der Exe zusätzlich übergeben wird. Optional kann zusätzlich ein Trigger übergeben werden, der einen einmal aktivierten Worker, wiederholt aufruft. Der Parameter-String kann neben beliebigen, durch die Programm-Session auflösbaren Platzhaltern folgende Platzhalter enthalten, die beim Aufruf der Worker-Exe durch aktuelle Laufzeit-Werte ersetzt werden: "%Event%" = Name des Ereignisses, das zum Aufruf des Workers geführt hat, "%Source%" = Quelle des Ereignisses (Knoten, in dem das Ereignis zuerst aufgetreten ist), "%Sender%" = Knoten, der aufgrund des Ereigniss aktuell den Worker aufruft, "%Timestamp%" = aktuelles Datum mit aktueller Uhrzeit im Format "dd.MM.yyyy HH.mm.ss", "%Logical%" = aktueller logischer Wert des Senders, "%Exception%" = Exception.Message, falls %Event% gleich "Exception" ist, ansonsten "".
Zurück nach oben
Eigenschaften
 NameBeschreibung
Protected EigenschaftCanRunDll Dll mit der Instanz von ICanRun. Wenn vorhanden, wird CanRun vor jedem Start eines Knotens aufgerufen. Liefert CanRun false zurück, wir der Start abgebrochen. In CanRun können darüber hinaus die per ref übergebenen Parameter noch modifiziert werden.
(Vererbt von NodeShellBase)
Public EigenschaftCanRunDllPath Pfad zu einer optionalen Dll, die eine ICanRun-Instanz zur Verfügung stellt. Wenn vorhanden, wird vor jedem Run des zugehörigen Checkers oder Workers CanRun aufgerufen. Liefert CanRun false zurück, wird der Start abgebrochen. Zusätzlich können in CanRun die übergebenen Parameter noch modifiziert werden.
(Vererbt von NodeShellBase)
Public EigenschaftSlavePathName Die bei Änderung des Zustands von Logical aufzurufende Exe.
Public EigenschaftTransportByFile Bei True werden die Parameter über eine XML-Datei übergeben, ansonsten über die Kommandozeile; Default: false.
Public EigenschaftTrigger Ein optionaler Trigger, der den Job wiederholt aufruft oder null. Wird vom IJobProvider bei der Instanziierung mitgegeben.
Public EigenschaftWorkerState Zustand des Workers. None, Valid, Invalid.
Zurück nach oben
Methoden
 NameBeschreibung
Public MethodeBreakExec Abbrechen der Task. Worker Scheduler (nicht den Worker!) über CancellationToken abbrechen.
Public MethodeCanRun Wird von Vishnu vor jedem Run eines Checkers, Workers oder vor Start eines Triggers aufgerufen. Returnt true, wenn der Run/Start ausgewführt werden kann.
(Vererbt von NodeShellBase)
Public MethodeExec Startet einen zuständigen Worker, nachdem sich ein definierter Zustand (TreEvent) im Tree geändert hat. Intern wird für jeden Exec eine eigene Task gestartet.
Public MethodeExists Returnt True, wenn der SlavePathName existiert und Zugriff möglich ist.
Zurück nach oben
Anmerkungen
File: WorkerShell.cs Autor: Erik Nagel 01.03.2013 Erik Nagel: erstellt
Siehe auch