[Cascavel-pm] Limite de variavies de ambiente e system
Agnaldo Macedo
agnaldo em starweb-software.com.br
Terça Novembro 28 07:54:06 PST 2006
Completando Ricardo ....
O Perl, PHO, etc, assim como as aplicações CGI, fazem ascessam os dados eviados pelo webserver através de variaveis de ambiente
Por exemplo, um GET usa QUERY_STRING, um POST usa POSTDATA.
E aí vai, com aquele outra gama de variáveis CGI.
O que essas linguagens fazem, e programas no modelo CGI fazem, é apenas pegar essas variaveis de ambiente, geradas pelo webserver, e usa-las.
No me caso, estou u usando o Perl apenas para suprir minha aplicação com essas variaveis.
----- Original Message -----
From: Ricardo Portilho Proni
To: Cascavel Perl Mongers
Sent: Tuesday, November 28, 2006 2:39 PM
Subject: Re: [Cascavel-pm] Limite de variavies de ambiente e system
Vc pode resolver este problema, mas está utilizando variáveis de ambiente para fazer algo que elas não foram feitas para fazer.
Se revolver esse, é possível que encontre outra barreira, ainda mais se quiser fazer de forma portável.
Coloque as informações que precisa em uma tabelas simples, em um banco simples. A primeira aplicação alimenta a tabela, a segunda pega. Tudo ficará bem...
Ricardo Portilho Proni
Oracle Database 10g Administrator Certified Associate
Microsoft Certified Professional
Nerv Informática Ltda.
Alceu R. de Freitas Jr. escreveu:
--- Agnaldo Macedo <agnaldo em starweb-software.com.br>
escreveu:
Sobre o que a aplicação:
Eu uso o Perl/CGI para capturar as informações
vindas do WebServer e
repassar para outra aplicação.
Que tal webservices? Você poderia implementar isso até
usando LWP para criar uma requisição para o servidor
web e fazer processar a resposta.
Se esse tipo de informação não mudar com muita
freqüência, você poderia até implementar um cache.
Não, eu não posso me livrar da outra aplicação
Você não pode trazê-la para o mesmo servidor então?
Você poderia utilizar memória compartilhada ou sockets
(Winsockets, Unix sockets)... claro, estou só
especulando.
Estou usando as variabeis de ambiente porque são
mais rapidas do que usar
arquivo em disco.
Você lê as informações do outro servidor, configura
variáveis de ambiente e depois passa para seu
programa?
Se eu for usar arquivo em disco para intercambiar os
dados a aplicação se
torna definitivamente inviável.
Eu não sei que programa você está usando, mas minha
sugestão seria essa:
1 - tentar eliminar o uso desse programa utilizando um
programa feito em Perl que pudesse ser executado sem o
uso de system ou exec.
2 - Usar um named pipe para passar as informações para
seu programa.
Sobre sistema:
Eu preciso da apliucação rodando sobre
windows/linux/unix, então, não posso
fugir do windows.
Mais um motivo para você substituir o programa em
questão por código Perl. Talvez se você puder contar
qual é esse programa em questão, o pessoal possa dar
mais sugestões.
O que ficou estranho é o funcionamento do system, em
não conseguir chamar a
outra aplicação quando as variaveis chegaram a 32k.
Uma vez que o system faz uma chamada ao shell, no
caso, o cmd.exe, ele não
esta conseguindo essa parte.
Eu nunca passei por essa situação, realmente não sei
como lhe ajudar. Veja se o Windows Power Shell não
pode lhe ajudar nesse caso.
A outra coisa sinistra foi quando usando exec, é o
mesmo não conseguir mais
repassar as variaveis comuns do ambiente CGI mas
conseguir repassar as
outras que que gerava na mão, embora, dentro do
scrip Perl elas ainda
existirem.
Se não estou enganado, o exec não use o shell. Talvez
você queira tentar o módulo Win32::Process
Ainda não fiz o teste sobre Linux/Unix, talves neles
os erros não ocorram.
Só tentando. Mas eu receio que você não terá esses
problemas, a expectativa é que os shells desses
sistemas operacionais deixem o cmd do Windows no
chinelo.
Infelizmente, eu tenho a necessidade de que
funcione, também, sobre Windows.
O material da ActiveState é bem recomendado. Será
que devo testar com outra
distribuição?
Eu ficaria com o ActiveState.
Teria como indicar ao suystem/exec para que eles
façam chamada a outro
shell?
Talvez se você configurar outro shell para ser
utilizado. Mas nem sei se isso é possível no Windows.
[]'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
_______________________________________________________
O Yahoo! está de cara nova. Venha conferir!
http://br.yahoo.com
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
------------------------------------------------------------------------------
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20061128/b6e9d3cf/attachment.html
Mais detalhes sobre a lista de discussão Cascavel-pm