Im Folgenden finden Sie eine Beschreibung der Logik zum Ausführen einer entfernten Aufgabe.
current_command = 1; num_tries = 0; EXECUTE_TASK: loop { num_tries = num_tries + 1; EXECUTE_COMMANDS; if( task_success or task_abort ) break EXECUTE_TASK; if( task_retry and at maximum tries ) { break EXECUTE_TASK; } else { continue; } } EXECUTE_COMMANDS: for each command starting at current_command { execute current_command; if( command failed ) { if( action on failure is "abort task" ) { break EXECUTE_COMMANDS, returning task_abort; } else if( action on failure is "continue" ) { // no action, continue at next command } else if( action on failure is "retry task" ) { current_command = 1; break EXECUTE_COMMANDS, returning task_retry; } else if( action on failure is "retry command" ) { // no change to current_command break EXECUTE_COMMANDS, returning task_retry; } } current_command = next command number; } return task_success; |
Die maximale Laufzeit für eine Aufgabe wird zurückgesetzt, wenn die Aufgabe gestartet wird und wenn ein Befehl oder die gesamte Aufgabe erneut versucht wird, weil ein Befehl fehlgeschlagen ist.
Wenn ein Befehl oder eine Aufgabe erneut versucht wird, weil ein Befehl fehlgeschlagen ist, wird die Bedingung nicht erneut ausgewertet und es ist kein neues Trigger-Ereignis erforderlich. Es ist wichtig zu bedenken, ob in der Bedingung referenzierte Eigenschaften sich während der Ausführung der Aufgabe ändern können und ob ein neuer Versuch nach einem Fehlschlag der Bedingung unerwünschte Ergebnisse liefern würde.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |