[Cascavel-pm] NFS x flock

Alceu R. de Freitas Jr. glasswalk3r em yahoo.com.br
Quinta Fevereiro 9 09:55:51 PST 2006


--- Ednardo Lobo <ednardo em lobo.eti.br> escreveu:

> O que tenho em mãos é uma fila de arquivos a serem
> processados, 
> obviamente eles são lidos uma única vez e depois
> apagados. Preciso 
> garantir que todos os arquivos sejam processados,
> preferencialmente uma 
> única vez pois não posso perder tempo com
> reprocessamentos. A fila está 
> num servidor e mútiplas instâncias de um mesmo
> script Perl é disparado 
> em cada uma de várias máquinas conectadas ao
> servidor via NFS. O script 
> lê um arquivo da fila, realiza um processamento e em
> seguida remove 
> (unlink) o arquivo da fila.
> 
> Alguém tem alguma outra sugestão, uma vez que o
> funcionamento do flock, 
> lockf, etc. é algo meio obscuro?

Sim. Se você abre X processos múltiplos para ir
processando esses arquivos mais rapidamente, então
eles não precisam pegar os arquivos num sequencia
certa, correto? O que você precisa garantir é que eles
não tente processar o mesmo arquivo.

Você pode fazer isso criando um programa/esquema em
que os processos X não pegam o primeiro arquivo, e sim
solicitem um. Você teria que ter uma fila controlada
desses arquivos e a medida que receber requisições,
passa para o próximo arquivo da fila. Como o processo
de entrega de um nome de arquivo deve ser bem rápido,
você pode ter um gargalo sem maiores problemas (eu
acho).

Se tudo roda na mesma máquina você pode fazer isso
usando sinais (IPC) ou ainda sockets. Eu
particularmente tentaria usar UNIX socket domains, se
possível, mas você deve fazer isso da maneira mais
simples possível.

[]'s




Alceu Rodrigues de Freitas Junior
--------------------------------------
glasswalk3r em yahoo.com.br
http://www.imortais.cjb.net
-----------------------------------------------------------------------
A well-used door needs no oil on its hinges.
A swift-flowing stream does not grow stagnant.
Neither sound nor thoughts can travel through a vacuum.
Software rots if not used.
These are great mysteries -- The Tao Of Programming, 5.1


		
_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora!
http://br.acesso.yahoo.com


Mais detalhes sobre a lista de discussão Cascavel-pm