[Cascavel-pm] Tempo de execucao

Luis Motta Campos luismottacampos em yahoo.co.uk
Segunda Abril 16 07:55:28 PDT 2007


On Apr 16, 2007, at 4:39 PM, Patty Silva wrote:
> Ola Luis..
> Entao..
> nao tem como deixar em um programa so.. o 1 Programa le do Banco de  
> dados, gera um arquivo num formato especifico..
> o 2 pega esses dados num diretorio e roda um programa em C aprtir  
> desses dados :D

   O que você não {sabe,quer,pode,deve} mudar é o programa C, certo?

> Com PIpeLine nao irá funcionar devido o 2 programa busca os dados  
> em um diretorio..
> Achu que verificando o PID seria uma solucao.. q acha?

   "Achu" está errado. ;-)

   E, sinceramente, está na hora de chutar o seu chefe, e pedir para  
ele um curso de unix.
   Vocês estão trabalhando (por bobagem) na "idade da pedra": não  
sabem usar bem a ferramenta que tem.
   Se a sua empresa precisa de convencimento sobre isso, manda vir  
falar comigo, que eu ajudo a explicar. ;-)

   Sobre o seu problema: não, a melhor alternativa é usar algo como:

   programa1 ; programa2

   No seu crontab. Assim, o seu programa C de processamento apenas  
vai começar a rodar quando o seu programa de busca de informação  
terminar de construir os dados.

   Você pode passar parâmetros e fazer qualquer coisa que faria num  
shell:

   /caminho/para/bin/programa1 --parametro=1 --flag 2 comando ;  
programa2 --parametro

   O crontab entende isso como "dependência" e apenas inicia o outro  
programa quando o primeiro terminou.

   Se seus programas forem "bem comportados" (para os padrões do  
unix), você poderia usar uma "dependência com sucesso" assim:

   programa1 && programa2

   De modo que o programa2 apenas vai rodar se programa1 saiu com um  
valor "0" (indicando sucesso).

   Espero que isso resolva o seu problema.
   Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}




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