Si, claro, este sistema suele ser mejor cuando se trata de un proceso que tiene que atender determinados eventos  y actuar en consecuencia sin  necesidad de que espere a que se cumpla el tiempo de espera: cuando recibe un evento por la cola lo procesa de inmediato, y si no, da una vuelta igual al bucle cuando finaliza el tiempo de espera.

También puede servir para el ejemplo anterior: si se quiere que un proceso que se ejecuta cada cierto tiempo pueda finalizarse de forma controlada, puede hacerse que reciba un  mensaje en la cola que le hace salirse, y así el bucle puede hacerse permanente hasta que llega este mensaje.

Las  colas de datos, la verdad es que son un mecanismo muy sólido para hacer colaborar procesos...

Saludos.

El 27/11/2015 a las 14:56, Bernabé Estrada escribió:
También se puede crear una cola de datos y leerla con un tiempo de espera que puede ser paramétrico:
C                   Call      'QRCVDTAQ'                          
C                   Parm      Cola_Input    ColaInput        10   
C                   Parm      Biblioteca    BiblInput        10   
C                   Parm      tamaño_cola   LongInput         5 0 
C                   Parm      *BLANKS       DataIn_S         10   
C                   Parm      TiemposegundosTimeInput         5 0 

Con esto hay un delay del proceso sin que consuma ningún recurso.

Saludos.

El 27 de noviembre de 2015, 1:47, Juan Carlos Paredes Castañón <[email protected]> escribió:

Yo haría un proceso batch en el que crees un bucle que ejecute el programa, haga un DLYJOB DLY(30) y vuelva arriba. Algo así:

 

DCL VAR(&FIN) TYPE(*LGL)

DOWHILE COND(&FIN = '0')

  CALL PGM(PROGRAMA) PARM(&FIN)

  DLYJOB DLY(30)

ENDDO

RETURN

 

En la variable &FIN, desde el programa, le devuelves un '0' mientras quieras que siga ejecutándose y un '1' cuando quieras que se salga.

Un saludo.

Juan Carlos.

El 27/11/2015 05:14, Joss DJ escribió:

Hola Foro,
 
Reciban un cordial saludo y aprovecho para solicitar de nueva cuenta su ayuda, alguno de ustedes me podría ilustrar como mandar llamar un programa cada determinado tiempo¿? Es decir, necesito hacer el llamado a un programa cada 30 segundos para actualizar cierta información en el sistema.
 
De antemano gracias por el apoyo recibido. 
 
Saludos Cordiales,
José DJ.

____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.



____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

--

Jesus Busquets

Dir. T.I.

[email protected]

Grespania, S.A.

FacebookPinterestYoutube

Este mensaje se dirige exclusivamente a su destinatario y puede contener información privilegiada o confidencial. Si no es Vd. el destinatario indicado, queda notificado de que la utilización, divulgación y/o copia sin autorización está prohibida en virtud de la legislación vigente. Si ha recibido este mensaje por error, le rogamos que nos lo comunique inmediatamente por esta misma vía y proceda a su destrucción.

 


____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a