FUNCION Sleep

Introducción

Se implementó la función SLEEP. Permite hacer una pausa por una determinada cantidad de segundos en la ejecución de un programa.

Alcance

Objetos: Procedimientos, Reportes, Transacciones, Web panels, Work panels

Generadores: .Net - C/SQL – VB – JAVA – VFP

Interfaces: Web y Win

 

Descripción

Sintaxis: &var = sleep(<segundos>)

<segundos> puede ser una variable o una constante

 

Esta función sirve por ejemplo para implementar un "demonio" que se ejecute cada tantos segundos. La idea es tener un loop infinito y que se espere una cantidad de segundos entre cada iteración, por lo que se recomienda su uso en procesos tipo ‘batch’ mas que en aplicaciones interactivas, donde la aplicación se ‘muere’ mientras no finaliza el timeout especificado.

Consideraciones para Visual Basic

La cantidad de segundos tiene un rango: 0.. 2^15 (32768 seg.). Este límite queda establecido por la función de Windows que recibe Milisegundos y con mas de 2^ 22 se va de rango con valores mayores que 2^16 - 1 o negativos que los los toma como infinito. La función controla este límite, y no hace nada en caso de pasar el límite y retorna 0.

Ejemplo

&var=sleep(15) – Espera 15 segundos y en &var devuelve 0

 

&var=sleep(0) – Espera 0 segundos y en &var devuelve 0

 

&var=sleep(-10) – Espera 0 segundos y en &var devuelve 0