[Cascavel-pm] Limite de variavies de ambiente e system
Alceu R. de Freitas Jr.
glasswalk3r em yahoo.com.br
Terça Novembro 28 06:25:32 PST 2006
--- 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
Mais detalhes sobre a lista de discussão Cascavel-pm