SLEEP 함수
SLEEP 함수는 정의된 기간 동안 메시지 플로우 인스턴스 실행을 지연시키고 인터럽션 없이 휴면이 완료되었는지 여부를 나타내는 Boolean 값이 리턴됩니다.
구문
SLEEP 함수는 휴면이 인터럽션 없이 지정된 기간 동안 완료된 경우 TRUE를 리턴하고, 그렇지 않으면 FALSE를 리턴합니다.
DurationExpression 매개변수는 휴면하는 기간(밀리세컨드)을 지정합니다. 이는 INTEGER 데이터 유형이어야 합니다. DurationExpression이 NULL인 경우, 함수는 휴면 없이 즉시 NULL을 리턴합니다.
SLEEP은 ATOMIC 블록 내에서 호출할 수 없으며 이는 다른 인스턴스가 공유 자원에 액세스하는 것을 차단하기 때문입니다. 이런 호출이 시도되면 즉시 FALSE가 리턴됩니다.
플로우에 대한 구성 또는 재배치 메시지가 플로우 휴면 중에 도달하면 SLEEP 함수는 자동으로 인터럽트되고 FALSE를 리턴합니다.
예제
다음 예에서 SLEEP이 1000에 대해 호출됩니다(재구성을 위해
인터럽트되지 않는 경우).
DECLARE returnValue BOOLEAN;
SET returnValue = SLEEP(1000); /* attempt to sleep for one second */
