Tasks

Einführung in Tasks in ConSol CM

Mit Tasks können Skripte asynchron ausgeführt werden, sodass die Skriptausführung nicht mit Benutzeraktionen im Web Client oder CM/Track verknüpft ist. Tasks eignen sich daher für allgemeine Operationen und für Operationen, deren Verarbeitung so lange dauert, dass es bei einer Ausführung als reguläres Skript zu Timeouts kommen würde.

Konzepte, Begriffe und Definitionen

Konzept

Andere Begriffe

Definition

Task

 

Asynchrone Ausführung eines Skripts

Task-Skript

 

Skript, in dem die von einem Task ausgeführten Operationen und das Verhalten des Task bei Fehlern oder Abbruch implementiert sind

Task executor

 

Modul, das die Datenbank nach neuen geplanten Tasks durchsucht und diese ausführt

Task descriptor

 

Internes Objekt, in dem Informationen über einen Task gespeichert sind

Execution specification

 

Internes Objekt, in dem Informationen über das Startdatum und die Startzeit des Task gespeichert sind; wenn nicht angegeben, wird der Task sofort gestartet

Zweck und Verwendung

Tasks ermöglichen asynchrone Operationen. Sie können entweder manuell in der Web Admin Suite oder automatisch in einem Skript erstellt werden. In beiden Fällen basiert der Task auf einem Skript des Typs Task, in dem die Logik der durchzuführenden Operationen implementiert ist. Tasks können für Operationen verwendet werden, die sich nicht auf spezifische Benutzeraktionen im Web Client oder CM/Track beziehen, wie zum Beispiel allgemeine Wartungsarbeiten. Zusätzlich ermöglichen Tasks die Durchführung von Operationen, deren Verarbeitung lange dauert, sodass sie einen Timeout verursachen würden, wenn sie als reguläres Skript ausgeführt würden.

Mit Tasks können Objekte endgültig aus der ConSol CM-Datenbank gelöscht werden. Die durch einen Task ausgeführten Aktionen können nicht rückgängig gemacht werden. Tasks, die Massenoperationen durchführen, können die System-Performance schwer beeinträchtigen.

Verfügbare Einstellungen für die Task-Ausführung

Die folgenden Einstellungen sind für die Task-Ausführung im Allgemeinen verfügbar:

Grundlegende Aufgaben

Sie müssen folgende Schritte ausführen, um Tasks in ConSol CM zu nutzen:

  1. Erstellen Sie ein Task-Skript, in dem die Logik der durchzuführenden Operationen implementiert ist, siehe Erstellen eines Task-Skripts.
  2. Erstellen Sie einen Task, die das Task-Skript ausführt, siehe Erstellen eines Tasks.
  3. Sie können den Fortschritt des Task in der Task-Liste nachverfolgen, siehe Nachverfolgen der Task-Ausführung.

Erstellen eines Task-Skripts

Erstellen Sie auf der Seite Skripte der Web Admin Suite ein Skript des Typs Task (siehe Skripte). Das Skript muss die Logik der durchzuführenden Operationen implementieren.

Das Task-Skript muss folgende vier Methoden implementieren:

Erstellen eines Tasks

Es gibt zwei Möglichkeiten zur Erstellung eines Tasks:

Nachverfolgen der Task-Ausführung

Die Task-Liste enthält alle aktiven Tasks im System. Für jeden Task werden folgende Informationen angezeigt:

Sie können die Tabelle nach Task-Namen oder -Status durchsuchen oder einen Filter anwenden, um Tasks mit einem bestimmten Planungsintervall oder Status anzuzeigen.

Regelmäßige Tasks mit mehreren geplanten Ausführungen sind standardmäßig gruppiert. Das bedeutet, dass nur die nächste Ausführung angezeigt wird. Die Spalte Planungsoption enthält die Anzahl der geplanten Ausführungen und ein Uhr-Icon zum Anzeigen aller Planungsoptionen. Die Spalte Nächste Ausführung am zeigt die Daten für die nächste Ausführung und Sie können mit der Maus über das Uhr-Icon fahren, um die alle Ausführungen zu sehen. Wenn Sie jede geplante Ausführung in ihrer eigenen Zeile anzeigen möchten, z. B. um ein einzelne Ausführung abzubrechen oder zu deaktivieren, können Sie die Markierung der Checkbox Nur nächste Ausführungen entfernen.

Erweiterte Aufgaben

Abbrechen eines Tasks

Es gibt zwei Möglichkeiten, um einen laufenden Tasks abzubrechen:

Abgebrochene Tasks werden entfernt und können nicht fortgesetzt werden.

Deaktivieren eines Tasks

Sie können einen Task mit dem Status Warten auf Ausführung, der für die korrekte Funktionsweise des Systems erforderlich ist, aber momentan nicht ausgeführt werden soll, deaktivieren, indem Sie auf das Icon Deaktivieren klicken. Deaktivierte Tasks verbleiben in der Task-Liste und haben den Status Deaktiviert. Sie können durch Klicken auf das Icon Aktivieren wieder ausgeführt werden.

Beim Planen eines regelmäßigen Tasks können Sie die Option Task nach Fehler deaktivieren auswählen, um den Task zu deaktivieren, wenn bei der Task-Ausführung ein Fehler auftritt. Dies betrifft nur die geplante Ausführung, bei der der Fehler auftritt.

Wiederholen eines Tasks

Es gibt zwei Szenarien, in denen Sie einen Task möglicherweise wiederholen möchten:

In beiden Fällen können Sie den Task mit der folgenden Methode wiederholen:

return new ExecutionSpecification().setRetryRequested(true);

Wenn Sie ein bestimmtes Datum oder eine bestimmte Zeit, zu der der Task wiederholt werden soll, setzen möchten, können Sie folgende Methode verwenden:

return new ExecutionSpecification().setRetryRequested(true).setExecutionDate(new Date(new Date().getTime() + 15000));

Fügen Sie diesen Code im Task-Skript am Ende der Methode onExecute() ein, wenn Sie den Task in der regulären Ausführung wiederholen möchten. Wenn Sie den Task wiederholen möchten, wenn ein Fehler aufgetreten ist, fügen Sie den Code in die Methode onError() ein.

Verwenden der Kontextreferenz

Wenn Sie Tasks aus anderen Skripten erstellen, können Sie mithilfe der Kontextreferenz feststellen, welches Skript den Task erstellt hat. Sie setzen beim Erstellen des Tasks eine Kontextreferenz, die im Task-Skript abgerufen werden kann, um unterschiedliches Verhalten je nach Ursprungsskript zu implementieren.