Table of Contents

Webservice mit Schnittstelle für Taskservice

Informationen

  • Kategorien: Kernel | Webservice (Server)
  • Version: 20.0.0.10113
  • Veröffentlichungsdatum: Mittwoch, 25. Januar 2017
  • Entwickler: Schulze
  • Benötigt Datenbankänderung: Nein
  • Betreff: Webservice mit Schnittstelle für Taskservice

Beschreibung

Mit der schon bestehenden Funktion "ExecuteSessionTask " können Klassenformel-Funktionen in anderen Threads ausgeführt werden und somit komplexe Aufgabe nebenläufig erledigt werden.

Um Informationen über mit ExecuteSessionTask gestartete und aktuell laufende SessionTask-Funktionen zu erhalten und diese starten bzw. abbrechen zu können wurde eine komplexe "SessionTask"-Schnittstelle eingeführt. Die Schnittstelle besteht hauptsächlich aus den Funktionen

  • ExecuteSessionTask
  • GetSessionTaskListSnapshot, bzw. GetSessionTaskCount und GetSessionTaskInfo
  • AbortRunningStackMachine

Der Zugriff auf die Schnittstelle ist folgendermaßen möglich:

=>für den Zugriff von außerhalb des Prozesses in welchem die SessionTasks ausgeführt werden:

  • als Webservice über die neue Webservice-Klasse "SessionTask" im Namensraum "PitIS.Web.Service" (wsmodel.dll), mit den Funktionen ExecuteSessionTask und GetSessionTaskListSnapshot

=>für den Zugriff innerhalb des Prozesses:

  • über Klassenformeln mit den neuen Kernfunktionen: ExecuteSessionTaskTimeout, GetSessionTaskCount, GetSessionTaskSnapshot und GetSessionTaskInfo
  • in .NET-Code über die .NET-Schnittstelle über neue .NET-Klasse "SessionTask" im Namensraum "PitFM.Model.Userdata" (climodel.dll), mit den Funktionen ExecuteSessionTask und GetSessionTaskListSnapshot

Die Funktion "AbortRunningStackMachine" bricht die Ausführung der StackMachine (und damit die laufende Klassenformel) in einer angegebenen (Neben-)Session ab sobald der nächste P-Code-Befehl ansteht: Bei Abbruch der StackMachine-Ausführung wird das Ereignis "OnEvent_SessionTask" im Hauptthread mit dem Fehlerocde <> und der Fehlermeldung "Aborted by user" aufgerufen.