[Cascavel-pm] Controle de processo em perl
KLEBER
payback em oi.com.br
Quinta Abril 5 10:11:15 PDT 2007
Tomo a liberdade de enviar-lhe(s) este email cujo o assunto é PERL pois
talvez você ou alguém que conheça possa me ajudar.
Estou escrevendo uma aplicação em perl e preciso garantir que um
determinado processo seja executado de forma única ( sem concorrência ).
Pôr exemplo , uma função que atualiza uma tabela de agencia , ao ser
executada , todas as outras funções que acessam esta tabela deve esperar
sua conclussão ( portanto deve-se formar uma fila de pedidos para
atendimento ).
Atualmente estou fazendo isto da seguinte maneira :
#
# Permite executar um script por vez
#
denovo:
if ( -e "c:\\payback\\contabil\\tabelas\\agencia\\cgiaform.nul" ) { goto
denovo; }
sysopen( TASK15,
"c:\\payback\\contabil\\tabelas\\agencia\\cgiaform.nul",
O_WRONLY|O_EXCL|O_CREAT ) or warn ( goto denovo );
flock( TASK15, LOCK_EX ) or warn ( goto denovo );
---------------------------------
Instruções diversas em perl 5.8
--------------------------------
flock( TASK15, LOCK_UN );
close( TASK15 );
unlink( "c:\\payback\\contabil\\tabelas\\agencia\\cgiaform.nul" );
exit;
Acredito que deve existir uma maneira mais elegante de implementar esta
minha necessidade e estava imaginando o método de controle de processo PID
( waitpid ).
Caso possua alguma informação a este respeito , agradeceria sua colaboração
Atenciosamente ,
kleber
Mais detalhes sobre a lista de discussão Cascavel-pm