Semantik


 

Das <sleep>-Element hält die Verarbeitung für die angegebene Anzahl ms an ("legt sich schlafen"). Die Ausführung wird nur fortgesetzt, wenn während der sleeptime keine Ausnahme aufgetreten ist.

<sleep> kann z.B. eingesetzt werden, um externen Prozessen die Möglichkeit zu geben, eine Verarbeitung zu beenden. So kann es zum Beispiel vorkommen, dass ein externer Prozess die Steuerung an den Worker-Prozess zurückgibt, aber das Schreiben der Ergebnisdateien über Festplatten-Cache noch einige Millisekunden länger Zeit benötigt. In diesem Fall ist es günstig <sleep> zu verwenden, welches den Worker-Prozess um die angegebene Zeit (in Millisekunden) pausiert.

 

Attribute


 

AttributnameDatentypBeschreibungMögliche WerteStandardwertObligatorisch?
timeSTRING (long)Die Anzahl Millisekunden, für die die Verarbeitung unterbrochen werden soll.Numerische Angabe in ms. Muss mindestens 1 Sekunde betragen.

(Haken)

 

Subelemente / Inhalt


 

Das <sleep>-Element besitzt keine Subelemente und kann keinen Inhalt enthalten.

 

Variablenbindungen


 

Das <sleep>-Element besitzt keine Variablenbindungen.

 

Beispiel


 

In folgendem Beispiel wird die Verarbeitung für 1 Sekunde unterbrochen, falls nach der Ausführung von <commandline> die Warnung mit dem Warncode 3 auftritt. Dieses Beispiel verwendet außerdem das <workdir>-, <exec>-, <commandline>-, <if>- und <message>-Element.

 

<rcml>	
	<process id="ExampleProcess" name="example process">
 
		<workdir id="workdir" home="./WORK" />
 
		<exec id="ExampleExec" workdir="workdir">
			<!-- Irgendeinen Befehl ausführen... -->
			<commandline processor="velocity">...</commandline>
		</exec>
		<!-- Bei return-code = 3 Warnung an EOMS-Core senden und 1 Sekunde schlafen legen. -->
		<if condition="${ExampleExec.testReturnCode('3')}">
			<message text="${'Warnung aufgetreten: ' + ExampleExec.getReturnCode()}" />
			<sleep time="1000" />
		</if>
	
	</process>	
</rcml>
<sleep>
Zweck:

Prozessunterbrechung

Typ:

Standalone

Elternelement:

Top-Level-Elemente

Subelemente:

Nein

Variablenbindungen:

Nein

Beachte

Tritt während der Ablaufunterbrechung eine Exception auf, wird die Verarbeitung durch <sleep> nicht fortgesetzt. Nachfolgender Code wird nicht ausgeführt!

  • Keine Stichwörter