> -----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]