Ver Mensaje Individual
  #2  
Antiguo 03-09-2010
IcebergDelphi IcebergDelphi is offline
Miembro
 
Registrado: may 2003
Ubicación: VillaFlores, Chiapas, Mexico
Posts: 81
Reputación: 22
IcebergDelphi Va por buen camino
Cita:
Empezado por IcebergDelphi Ver Mensaje
Hola amigos, acabo de crear un Servicio que envia por FTP un archivo de Texto al Servidor FTP, en el cual estoy usando Threads (Hilos) y practicamente hace lo siguiente:
1.-Mi Servicio esta Monitoriando Una carpeta de mi equipo, en el cual esta a la espera de que entre un archivo de Texto llamado Factura.txt, que manda el ERP de Facturacion cada vez que el usuario manda a facturar.

2.- Una vez que mi servicio detecta que entro el archivo llamado Factura.txt este lo envia al FTP.

3.- Por Ultimo mi servicio Borra el Archivo Factura.txt de la Carpeta de recepcion de mi equipo.


Hasta ahi todo bien, el unico problema fue que al entrar al administrador de tareas vi que estaba haciendo mucho uso de memoria y va aumentando, por ejemplo he visto que de:27,000 kb va subiendo poco a poco, y en la columna CPU oscila entre 80 y 90 ,yendome a la pestaña rendimiento pude ver que la grafica del Historial de Uso de CPU se dispara.
Esto no me alenta el equipo pero si se traga mucha memoria.

Que podria haber pasado por alto? recuerden que estoy usando Hilos, no quise meter un Timer por que pense que usaria mas memoria, pero
salio lo contrario.
PD: Uso Indy IdFTP

Espero sus opiniones, muchas gracias.
Perdon se me olvidaba la parte del codigo on Execute del Servicio lo cual llama al Hilo :

Código Delphi [-]
procedure TMyServiceCFD.ServiceExecute(Sender: TService);
begin
   MainThread:=VigilanteUnidad.Create(True);
   With MainThread Do
   Begin
     FreeOnTerminate:=True;
     Resume;
  end;
 while not Terminated do
  begin
    ServiceThread.ProcessRequests(True);
   With MainThread Do
   Begin
     FreeOnTerminate:=True;
  end;
   
 end;
end;
__________________
IcebergDelphi
LIA. Hiber tadeo Moreno Tovilla. INITEC Software
Responder Con Cita