[bcn-pm] Proceso de estadisticas avanzando

Xavier Noria fxnahashref.com
Dil Maig 16 14:29:39 PDT 2005


On May 16, 2005, at 12:40, Jose Pedro Andres wrote:

> Buenas:
>     Estoy programando un demonio para procesar las estadisticas web de
> una maquina con unos 500 dominios.
>     El tema esta en que me gustaria borrar unicamente los logs de
> aquellas lineas que se hayan procesado ( para no sobrecargar la  
> maquina
> las voy procesando de mil en mil lineas ).
>     He probado con el modulo Tie::File, para usar el archivo de log  
> como
> si de un array se tratara, pero con archivos grandes ( tengo logs de
> hasta 270 megas ), la maquina se pone a mil de carga en unos segundos.

No se si lo interpreto bien: Tienes archivos de log de 270MB y  
quieres procesarlos por linea para enviarle datos a un proceso que  
saca estadisticas. Para no cargar la maquina dices que los procesas  
de 1000 en 1000.

Esto ultimo como lo haces? Invocas espaciadamente al script? Quieres  
entonces cepillarte las primeras 1000 lineas? Que inconveniente tiene  
la aproximacion mas simple

     my $filename = shift;
     open my $log, $filename or die $!;

     my $i = 0;
     while (my $line = <$log>) {
         my @data = extract_data($line);
         send_data_to_daemon(@data);
         sleep 5 unless ++$i % 1000;
     }

     unlink $filename;

?

-- fxn


Més informació de la llista de correu Barcelona-pm