Auslöseobjekte überwachen Ereignisauslöser, die von Plug-Ins definiert werden. Das vCenter Server-Plug-In definiert beispielsweise diese Ereignisse als Task-Objekte. Wenn die Aufgabe endet, sendet der Auslöser eine Nachricht an ein wartendes, auslöserbasiertes Element für einen Workflow mit langer Ausführungszeit, damit der Workflow wieder gestartet wird.

Vorbereitungen

  • Erstellen Sie einen Workflow.

  • Öffnen Sie den Workflow für die Bearbeitung im Workflow-Editor.

  • Fügen Sie dem Workflowschema einige Elemente hinzu.

  • Deklarieren Sie im Workflow ein VC:Task-Objekt als Attribut oder Eingabeparameter, beispielsweise ein VC:Task-Objekt aus einem Workflow oder Workflowelement, der bzw. das eine virtuelle Maschine startet oder klont.

Warum und wann dieser Vorgang ausgeführt wird

Das Ereignis, das eine bestimmte Zeit braucht und auf das ein auslöserbasierter Workflow mit langer Ausführungszeit wartet, muss ein VC:Task-Objekt zurückgeben. Beispielsweise gibt die startVM-Aktion zum Starten einer virtuellen Maschine ein VC:Task-Objekt zurück, sodass nachfolgende Elemente in einem Workflow seinen Fortschritt beobachten können. Das Auslöseereignis eines auslöserbasierten Workflows mit langer Ausführungszeit erfordert dieses VC:Task-Objekt als Eingabeparameter.

Sie erstellen ein Trigger-Objekt in einer JavaScript-Funktion in einem Element vom Typ Skriptfähige Aufgabe. Dieses Skriptfähige Aufgabe-Element kann Teil des auslöserbasierten Workflows mit langer Ausführungszeit sein, der auf das Auslöseereignis wartet. Als Alternative kann es auch Teil eines anderen Workflows sein, der Eingabeparameter für den auslöserbasierten Workflow mit langer Ausführungszeit bereitstellt. Die Auslöserfunktion muss die createEndOfTaskTrigger()-Methode aus der Orchestrator-API implementieren.

Wichtig:

Sie müssen eine Zeitüberschreitungsdauer für alle Auslöser definieren, da sonst der Workflow gegebenenfalls unbegrenzt wartet.

Prozedur

  1. Ziehen Sie ein Skriptfähige Aufgabe-Element aus dem Menü Generisch in das Schema eines Workflows.

    Eines der Elemente, die vor dem Element Skriptfähige Aufgabe stehen, muss ein VC:Task-Objekt als seinen Ausgabeparameter generieren.

  2. Klicken Sie auf das Symbol Bearbeiten (Symbol Bearbeiten) für das Element Skriptfähige Aufgabe im Workflowschema.
  3. Geben Sie einen Namen und eine Beschreibung für den Auslöser in der Eigenschaftenregisterkarte Info an.
  4. Klicken Sie auf die Eigenschaftenregisterkarte EIN.
  5. Klicken Sie auf das Symbol An Workflowparameter/-attribut binden (An Workflowparameter oder -attribut binden).

    Das Dialogfeld für die Auswahl des Eingabeparameters wird geöffnet.

  6. Wählen Sie einen Eingabeparameter des Typs VC:Task aus oder erstellen Sie einen.

    Dieses VC:Task-Objekt stellt das eine bestimmte Zeitdauer benötigende Ereignis dar, das durch einen anderen Workflow oder ein anderes Element gestartet wird.

  7. (Optional) : Wählen Sie einen Eingabeparameter des Typs „Zahl“ aus oder erstellen Sie einen, um eine Zeitüberschreitungsperiode in Sekunden zu definieren.
  8. Klicken Sie auf die Eigenschaftenregisterkarte AUS.
  9. Klicken Sie auf das Symbol An Workflowparameter/-attribut binden (An Workflowparameter oder -attribut binden).

    Das Dialogfeld für die Auswahl des Ausgabeparameters wird geöffnet.

  10. Erstellen Sie einen Ausgabeparameter mit den folgenden Eigenschaften.
    1. Erstellen Sie die Eigenschaft „Name“ mit dem Wert trigger.
    2. Erstellen Sie die Eigenschaft „Typ“ mit dem Wert Trigger.
    3. Klicken Sie auf ATTRIBUT mit demselben Namen erstellen, um das Attribut zu erstellen.
    4. Belassen Sie den Wert bei Nicht festgelegt.
  11. Definieren Sie ein Ausnahmeverhalten auf der Eigenschaftenregisterkarte Ausnahmen.
  12. Definieren Sie eine Funktion, um ein Trigger-Objekt auf der Registerkarte Skripterstellung zu generieren.

    Sie könnten beispielsweise ein Trigger-Objekt erstellen, indem Sie die folgende JavaScript-Funktion implementieren.

    trigger = task.createEndOfTaskTrigger(timeout);

    Die Methode createEndOfTaskTrigger() gibt ein Trigger-Objekt zurück, das ein VC:Task-Objekt mit dem Namen task überwacht.

  13. Klicken Sie auf Schließen.
  14. Klicken Sie unten im Workfloweditor auf Speichern.

Ergebnisse

Sie haben ein Workflowelement definiert, das ein Auslöseereignis für einen auslöserbasierten Workflow mit langer Ausführungszeit erstellt. Das Auslöseelement generiert als Ausgabeparameter ein Trigger-Objekt , an das ein Warteereignis-Element gebunden werden kann.

Nächste Maßnahme

Sie müssen dieses Auslöseereignis an ein Warteereignis-Element in einem auslöserbasierten Workflow mit langer Ausführungszeit binden.