[Rio-pm] Controle de processo em perl

Marco Lima mago.perlbr em gmail.com
Quarta Junho 18 08:30:47 PDT 2008


Mas você mencionou outros sistemas, esses sistemas ainda estão em mainframe
... estou fazendo essa pergunta ... porque não precisava tirar do mainframe
... mas se o objetivo é realmente trabalhar em outro ambiente, não lhe
aconcelho o Windows, mas como já falou que esta rodando em Windows.

Você deve desenvolver composite applications com o Catalyst, que vai lhe
oferecer tudo que precisa, a integração com as aplicações em Cobol você vai
fazer com webservices, o que vai lhe poupar muito tempo, e garantir o
controle e integridade dos seus dados.

2008/6/18 kleber <payback em oi.com.br>:

> Eu já trabalhei com maiframe ( atualmente não ).
> Possuo vários sistemas desenvolvidos em ambiente maiframe porém migrei para
> ambiente web somente o de contabilidade ( que chamei de projeto piloto ).
> Portanto somente o sistema contábil  roda em ambiente windows.
> Para realizar a migração básicamente substitui o comando de leitura do
> cobol
> cics
> ( portanto de uma tela de dados ) para um arquivo em um determinado
> diretório
> ( gerado pelo perl ) e gravei um arquivo de saida referente o status do
> processamento
> ( arquivo html ) que é enviado para o usuário pelo perl.
>
> O fernando Oliveira me sugeriu utilizar kill para controlar um processo
> porém pelo que entendi este comando aborta um processo.
> A minha necessidade não é abortar um processo quando um outro idêntico está
> rodando e sim colocá-lo em estado de espera aguardando a conclussão do
> processo
> corrente para sua reexecução ( formar uma fila de espera ).
>
> Você tem alguma sugestão de como fazer isto ????????????????
>
> Agradeço a atenção dispensada ,
>
> kleber
>
>
>
>
>
> ----- Original Message -----
> From: <marco_lima em sapo.pt>
> To: "Perl Mongers Rio de Janeiro" <rio-pm em pm.org>
> Sent: Tuesday, June 17, 2008 8:09 PM
> Subject: Re: [Rio-pm] Controle de processo em perl
>
>
> Salve!
>
> Então não percebi direito:
>
> >> Disponho destes sistemas administrativos em ambiente maiframe ( cobol ,
> >> cobol/cics , vsam , etc ) e implementei um projeto piloto do sistema de
> >> contabilidade. ( aproximadamente 120 programas )
>
> Você tinha mencionado que esta trabalhando com um ambiente
> mainframe??? isso não esta correto??
>
> No caso dos sistemas em questão, o ambiente web pode não ser o mais
> apropriado, principalmente no caso de ERP. mas um bom caminho para uma
> solução mais adequada e segura, é desenvolver composite applications
> com catalyst, porque estamos aqui falando de SOA e esta pode ser a
> forma mais segura e rápida, e como não é um simples sistema web, mas
> pelo que percebi, todas as aplicações da empresa.
>
> Todos os sistemas estão sendo executados no Windows?
>
> Citando kleber <payback em oi.com.br>:
>
> > Acho que é possível , através do cobol , ler a entrada padrão.
> > Vou pesquisar este assunto.
> >
> > Vou dar um exemplo de como montei este esquema .
> > Pôr exemplo , o sistema possui as seguintes entidades cadastráveis :
> > Grupo empresarial , Empresa , Departamento , Seção , Operador , etc.
> > (  Um grupo empresarial é constuido de várias empresas , uma empresa
> > possui
> > vários departamentos , um departamento possui várias seções , uma seção
> > possui vários
> > operadores )
> >
> > Crei para cada entidade um diretório ( c:\payback\contabil\tabela\grupo ;
> > c:\payback\contabil\tabela\empresa ; c:\payback\contabil\tabela\depto ;
> > etc )
> >
> > Criei um script perl para cada entidade ( portanto reside em um único
> > diretório ) que
> > captura o dado informado pelo usuário e executa o programa cobol  para
> > manutenção.
> > ( Nota - este programa cobol já esta pronto em cobol / cics )
> > A questão central está em garantir uma execução única deste script perl
> > pois
> > preciso garantir que um grave e vários lêem ( segurança do ambiente ).
> >
> > O marco_lima me perguntou porque cobol ?????
> > É pelo fato de já possuir vários sistemas prontos em cobol.
> > Caso este projeto de bureau de serviço avance , é bem provável que
> > converta
> > todos
> > os aplicativos para uma linguagem mais adequada ao ambiente web.
> > Entretanto estou implementando um piloto.
> > Meu ambiente operacional é : Win2003 server , Apache 2.0 ,  ActivePerl
> 5.8
> > ,
> >                                               Cobol 4.5 ,  etc.
> >
> > Mais uma vez agradeço a atenção dispensada ,
> >
> > kleber
> >
> >
> > ----- Original Message -----
> > From: "Fernando Oliveira" <fernandocorrea em gmail.com>
> > To: "Perl Mongers Rio de Janeiro" <rio-pm em pm.org>
> > Sent: Tuesday, June 17, 2008 2:31 PM
> > Subject: Re: [Rio-pm] Controle de processo em perl
> >
> >
> > Bom, eu acho q vc já começou bem procurando a lista. Um bom inicio na
> > minha
> > opinião,
> > seria o livro begining perl (http://www.perl.org/books/beginning-perl/)
> > (vc
> > pode ver esse e N
> > outros livros na nossa sessão de livros e resenhas (
> > http://rio.pm.org/livros.pl) <http://rio.pm.org/livros.pl%29>). Uma
> outra
> > importante fonte de pesquisa é o perldoc (para saber mais sobre o kill,
> > leia
> > o perldoc -f kill,
> > para saber de outras funções, perldoc perlfunc).
> > Eu gostaria de fazer uma pergunta, a única forma de entrada para esses
> > programas em cobol
> > seria por arquivo?
> > Bom, mas perguntas estamos aí!
> > E seja bem vindo!
> >
> > 2008/6/17 kleber <payback em oi.com.br>:
> >
> >> Olá Fernando ,
> >>
> >> Agradeço a atenção dispensada.
> >> Moro em Belo Horizonte e obtive informação sobre vocês pesquisando na
> >> internet.
> >>
> >> Atualmente estou trabalhando num projeto de prestação de serviços , no
> >> formato de bureau , onde pretendo disponibiliar todos os sistemas
> >> administrativos de uma empresa
> >> ( contabilidade , folha de pagamento , suprimentos , controle
> patrimonial
> >> ,
> >> etc ).
> >>
> >> Disponho destes sistemas administrativos em ambiente maiframe ( cobol ,
> >> cobol/cics , vsam , etc ) e implementei um projeto piloto do sistema de
> >> contabilidade. ( aproximadamente 120 programas )
> >>
> >> É aí que entra o perl ou seja , ele faz a interligação entre o usuário e
> >> o
> >> servidor.
> >> Portanto , o ambiente pode ser descrito assim :
> >>
> >>           - html / javascript -> Possibilita a entrada de dados pelo
> >> usuário
> >>           - perl ->  captura dados do cliente , grava um arquivo texto
> >> para
> >> passagem
> >>                         ao cobol , executa programa cobol , lê arquivo
> >> resposta do
> >>                         processamento cobol ( html ) e redireciona ao
> >> usário
> >>           - cobol -> Realiza manutenção da base de dados e gera arquivo
> >> html com o
> >>                           status  do processsamento
> >>
> >> Conforme disse anteriormente  possuo pouca experiência em perl .
> >> ( livro perl como programar deitel )
> >> Poderia me dar mais informações sobre sua sugestão ??????????
> >> Conhece alguma fonte de consulta onde eu possa pesquisar ????????
> >>
> >> Um abraço ,
> >>
> >> kleber
> >>
> >>
> >>
> >>
> >> ----- Original Message -----
> >> From: "Fernando Oliveira" <fernandocorrea em gmail.com>
> >> To: "Perl Mongers Rio de Janeiro" <rio-pm em pm.org>
> >> Sent: Tuesday, June 17, 2008 10:07 AM
> >> Subject: Re: [Rio-pm] Controle de processo em perl
> >>
> >>
> >> Vc pode dar um <code> kill 0 => $pid; </code> e se retornar verdadeiro,
> >> quer
> >> dizer q o pid ainda está rodando...
> >> Agora qto ao goto, vc poderia fazer algo + bonito, anlo como:
> >> <code>
> >> sleep 1 while kill 0 => $pid;
> >> </code>
> >>
> >> além disso, na minha opinião, ser mais bonito, ainda consome menos
> >> processamento...
> >>
> >> 2008/6/17 kleber <payback em oi.com.br>:
> >>
> >> > Olá Pessoal ,
> >> >
> >> > Estou executando uma função em perl de forma não concorrente ou seja
> >> > ela só pode ser reexecutada após encerrar a primeira instância.
> >> >
> >> > Atualmente estou fazendo assim :
> >> >
> >> > use warnings;
> >> > use strict;
> >> > use CGI qw( :standard );
> >> > use Fcntl qw( :flock :DEFAULT );
> >> > #
> >> > ########      Permite executar um script pôr vez
> >> > #
> >> > denovo:
> >> > if ( -e "c:\\payback\\cgiaindx.nul" ) { goto denovo; }
> >> > sysopen( TASK, "c:\\payback\\cgiaindx.nul", O_WRONLY|O_EXCL|O_CREAT )
> >> > or warn ( goto denovo );
> >> > flock( TASK, LOCK_EX )  or warn ( goto denovo );
> >> > #
> >> > #########  instruções em perl de uma função qualquer
> >> > #
> >> > flock( TASK, LOCK_UN );
> >> > close( TASK );
> >> > unlink( "c:\\payback\\cgiaindx.nul" );
> >> > exit;
> >> > #
> >> >
> >> > Gostaria de saber se é possível atingir este mesmo objetivo alocando
> um
> >> > número de processo a variável que controla o pid ( PROCESSO_ID ) E
> >> > TESTANDO
> >> > SUA DISPONIBILIDADE ??????????????????????
> >> >
> >> > TALVEZ ATÉ MESMO UTILIZANDO UMA VARIÁVEL DE AMBIENTE  E TESTANDO SEU
> >> > STATUS
> >> > ?????????
> >> >
> >> > OU UTILIZANDO OUTRO MÉTODO DE CONTROLE ??????????????????
> >> > Nota - Meu conhecimento de perl é limitado.
> >> >
> >> > Agradeço a atenção dispensada ,
> >> >
> >> > kleber
> >> >
> >> > _______________________________________________
> >> > Rio-pm mailing list
> >> > Rio-pm em pm.org
> >> > http://mail.pm.org/mailman/listinfo/rio-pm
> >> >
> >>
> >>
> >>
> >> --
> >> Just another Perl Hacker,
> >> Fernando (SmokeMachine)
> >> http://perl-e.org
> >>
> >>
> >>
> >>
> >>
> --------------------------------------------------------------------------------
> >>
> >>
> >> _______________________________________________
> >> Rio-pm mailing list
> >> Rio-pm em pm.org
> >> http://mail.pm.org/mailman/listinfo/rio-pm
> >>
> >> _______________________________________________
> >> Rio-pm mailing list
> >> Rio-pm em pm.org
> >> http://mail.pm.org/mailman/listinfo/rio-pm
> >>
> >
> >
> >
> > --
> > Just another Perl Hacker,
> > Fernando (SmokeMachine)
> > http://perl-e.org
> >
> >
> >
> >
> --------------------------------------------------------------------------------
> >
> >
> > _______________________________________________
> > Rio-pm mailing list
> > Rio-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
> >
> > _______________________________________________
> > Rio-pm mailing list
> > Rio-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
> >
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 

Marco Lima
www.perl.org.br
mago.perlbr em gmail.com

$_ = "wftedskaebjgdpjgidbsmnjgc";tr/a-z/oh,turtleneck Phrase Jar!/; print;

"Ninguém é tão grande que não possa aprender, e nem tão pequeno que não
possa ensinar"
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/rio-pm/attachments/20080618/5b884f8e/attachment-0001.html 


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