Cara nesse caso eu lido mais ou menos com um fluxo de 250.000 emails 
hora, esse é um script para uso em casos criticos pois na fila do 
postfix uma quantidade dessa de email faz minhas maquinas morrerem e 
seria usado apenas no caso de problema de entrega e filtrar palavras 
especiais.

Na verdade estava estudando a possibilidade de usar não só para isso 
existem varias aplicações para threads no shell caso seja possível 
balancear o processamento sempre pode ser útil. Estou fazendo alguns 
testes e se eles forem positivos posto aqui na lista :).

[]s


Jorge Pereira wrote:
> 
> 
> putz!!
> 
> Pra que fazer um "tanque de guerra" para matar um formiga?
> 
> []s
> 
> On 5/23/07, Juliano <[EMAIL PROTECTED] 
> <mailto:juliano%40falaserio.org>> wrote:
>  >
>  > Na verdade isso ainda é uma estudo de caso para ver consigo resolver em
>  > shell ao invés de escrever um binário para isso:
>  >
>  > Vamos supor um script de limpeza de spam:
>  >
>  > Eu gostaria de ao tempo que o script faz o total de msgs desses
>  > diretórios ele dividisse o a remoção em 4 processos por exemplo, e fosse
>  > realocando os ids de mensagem a medida que uma fila de remoção de cada
>  > um dos processos fosse diminuindo, nesse caso não adianta eu fazer job
>  > control ou fork desse shell, pois assim não tenho controle do que está
>  > sendo processado, e supondo que acabou o lista do primeiro ele não vai
>  > balancear entre os outros 3 em memória para continuar usando 4 processos
>  > de remoção.
>  >
>  > Cheguei a fazer uma contagem do total dividir isso em um array e fazer
>  > os sub processos mas isso cai na situação que eu disse acima:
>  >
>  > pid 10 shell ---> pid 11 10 fork 1 = 1000msgs
>  > pid 12 10 fork 2 = 1000msgs
>  > pid 13 10 fork 3 = 1000msgs
>  > pid 14 10 fork 4 = 1000msgs
>  >
>  > Caso o fork 1 acabe e tenhamos a situação:
>  >
>  > pid 10 shell ---> pid 11 10 fork 1 = 0
>  > pid 12 10 fork 2 = 700msgs
>  > pid 13 10 fork 3 = 900msgs
>  > pid 14 10 fork 4 = 500msgs
>  >
>  > Eu gostaria de redistribuir e balancear o que não esta em processamento
>  > no momento ganhando performance com isso e o único jeito que vejo de
>  > fazer isso é usando threads dai veio a pergunta.
>  >
>  > ## Original ##
>  > #!/bin/bash
>  >
>  > match="pr0n|echa"
>  >
>  > count=0
>  > for messages in /var/spool/postfix/maildrop/*
>  > /var/spool/postfix/defer/*/* /var/spool/postfix/deferred/*/*
>  > /var/spool/postfix/active/*/*
>  > do
>  > if [ -f $messages ] ; then
>  > message=$(echo $messages | awk -F'/' '{if ( $5 ~ /maildrop/ ) {
>  > gsub(/\*/,"",$6) ; print $6 } else { gsub(/\*/,"",$7) ; print $7}}')
>  > if egrep -i "$match" $messages > /dev/null ; then
>  > postsuper -c /etc/postfix -d $message
>  > spam="$message $spam"
>  > count=$(expr $count + 1)
>  > fi
>  > fi
>  > done
>  > echo "Foram removidas $count mensagens"
>  >
>  > Tiago Barcellos Peczenyj wrote:
>  > >
>  > >
>  > > Juliano, explique melhor
>  > >
>  > > O meu conhecimento vai até colocar um ou mais processos em backgrounds,
>  > cada
>  > > um com um PID associado. Vc pode enviar sinais para estes PIDs (kill /
>  > trap)
>  > > e pode aguardar o fim desses PIDs via comando wait.
>  > >
>  > > O que vc gostaria de fazer alem disso, Juliano?
>  > >
>  > > []´s Tiago
>  > >
>  > > On 5/23/07, Juliano <[EMAIL PROTECTED] 
> <mailto:juliano%40falaserio.org> <juliano%40falaserio.org>
>  > > <mailto:juliano% <juliano%25>40falaserio.org>> wrote:
>  > > >
>  > > > Caros,
>  > > >
>  > > > Alguém sabe se existe alguma implementação ou um modo não traumático
>  > de
>  > > > fazer mult-thread em bash, ou outro shell.
>  > > >
>  > > > []s
>  > > > ncode
>  > > >
>  > > >
>  > > >
>  > >
>  > > --
>  > > Tiago B Peczenyj
>  > > Linux User #405772
>  > >
>  > > # cd /pub
>  > > # more beer
>  > >
>  > > [As partes desta mensagem que não continham texto foram removidas]
>  > >
>  > >
>  >
>  >
>  >
> 
> -- 
> Regards,
> +
> ----------------------------------------------------------+
> Jorge Pereira, From: Olinda/Pe/Brazil
> Home: http://www.jorgepereira.com.br/ <http://www.jorgepereira.com.br/>
> E-mail: [EMAIL PROTECTED] <mailto:jpereiran%40gmail.com>, 
> [EMAIL PROTECTED] <mailto:jorge%40jorgepereira.com.br>
> Mobile: +55 (81) 8833-2484
> My Public Key: http://www.jorgepereira.com.br/public.pgp 
> <http://www.jorgepereira.com.br/public.pgp>
> +
> ----------------------------------------------------------+
> "Se você ama alguma coisa, liberte-a;
> Se ela não voltar a ti, cace-a e mate-a."
> +----------------------------------------------------------+
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 

Responder a