> -----Mensaje original-----
> De:   Fernando Mart�nez [SMTP:[EMAIL PROTECTED]
> Enviado el:   viernes, 08 de abril de 2005 9:47
> Para: [email protected]
> Asunto:       RE: TimeOut
> 
> Hola Javier
> 
>     Por ejemplo lo que hace el programa es llamar a otro y esperar a que
> termine, pero si no termina en un determinado tiempo cancelar la
> llamada y continuar con el proceso. El programa llamado puede no haber
> terminado por varios motivos:
> 
>      - Sobrecarga del sistema lo que ralentiza su ejecucion.
>      - Error de programa y espera de respuesta a un mensaje.
>      - Proceso demasiado largo para el tiempo que se estima que debe
> terminar.
> 
> 
        Mi propuesta iba a ser muy parecida a la Juan Ram�n, usar colas de
datos que permite cierto "asincronismo", pero veo que no es factible. De
todos modos lo veo complicado porque:

        1. El programado llamador tendr�a que estar esperando hasta la
finalizaci�n del llamado o esperar un cierto tiempo, cosa que no sabr�a
resolver.

        2. El llamador puede tardar un poco m�s de la cuenta su ejecuci�n en
funci�n de muchos factores y cortar su ejecuci�n a las bravas se me antoja
peligroso (ficheros abiertos, actualizaciones complejas, etc.)

        En mi instalaci�n hay procesos cr�ticos que no pueden quedarse
bloqueados nunca por un problema en un programa accesorio. Para solucionar
este tema usamos varias t�cnicas que tienen muchos aspectos en com�n.

        a) El programa accesorio siempre es un programa "servidor", es
decir, se ejecuta siempre en batch durante todo el d�a y espera peticiones
de los programas clientes.

        b) Para la comunicaci�n entre el programa cliente y servidor se
pueden usar varios m�todos: colas de datos, ficheros, �reas de datos,
sockets, etc.

        c) El programa cliente, que nunca deber�a quedar bloqueado, nunca
espera una respuesta del servidor (en nuestro caso no es necesario).

        d) El programa cliente deja en cualquier de los objetos anteriores
la operaci�n a realizar y prosigue su ejecuci�n. El servidor cada n
segundos, o en determinadas horas, o cuando recibe algo en la cola de datos,
realiza el trabajo solicitado y permanece a la espera. Si este programa
fallara o tardara mucho no "molestaria" la ejecuci�n del programa cliente.

        Este sistema funciona. :-)

        Espero haberme explicado.

        Un saludo,

        Javier Mora
        Dpto. Inform�tica
        Dialsur S.A.U.


_____________________________________________________
Forum.HELP400 es un servicio m�s de NEWS/400.
� Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja, env�a el mensaje resultante de pulsar
mailto:[EMAIL PROTECTED]
  • RE: TimeOut Javier Mora

Responder a