[SP-pm] Compartilhar infos em aplicações, logs, arquivos de configuração e parâmetro

Marcio - Google marciorp at gmail.com
Wed Jul 31 09:41:38 PDT 2013


Há esqueci. Sobre TIMTOWTDI, essa é minha preocupação. Queria fazer da
maneira "mais" correta e elegante, tipo "boas práticas".


[...]'s

Marcio

========================================
########### Campanha Ajude o Marcio! ###########
http://sosmarcio.blogspot.com.br/
http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
========================================


Em 31 de julho de 2013 12:38, Marcio - Google <marciorp em gmail.com> escreveu:

> Olá Bruno!
>
> Muito obrigado pela atenção.
>
> Sobre o item 4, quando trabalhava com .Net/C#, eu usava mensagens entre os
> processos, usando a API do Windows mesmo. Particularmente acho a maneira
> mais elegante e eficiente no Windows.
>
> Se no Perl/Linux tiver como fazer isso, acho que está resolvido a dúvida.
> Exceto se alguém tiver algo contra.
>
>
>
> [...]'s
>
> Marcio
>
> ========================================
> ########### Campanha Ajude o Marcio! ###########
> http://sosmarcio.blogspot.com.br/
> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
> ========================================
>
>
> Em 31 de julho de 2013 11:59, Bruno Buss <bruno.buss em gmail.com> escreveu:
>
> Olá Marcio,
>>
>> De uma olhada nessas dists/módulos (de acordo com os seus itens):
>>
>> 1) https://metacpan.org/module/Log::Log4perl
>>
>> 2) https://metacpan.org/module/Config::Tiny
>>
>> 3) https://metacpan.org/module/Getopt::Long
>>
>> E se você estiver de fato fazendo muitos scripts/apps de linha de
>> comando, talvez queira dar uma olhada nesses aqui também:
>> https://metacpan.org/module/App::Rad
>> https://metacpan.org/module/App::Cmd
>>
>> 4) Isso vai mais de como você faz a comunicação entre processos na sua
>> arquitetura... você pode usar arquivos, um banco de dados como backend, um
>> sistema de fila de mensagens dos trocentos que existem, pipes, passagem de
>> mensagem, ... Recomendo que você busque e leia um pouco sobre esse assunto
>> - comunicação entre processos - e decidir como você gostaria de começar
>> tentando, daí com certeza o pessoal da lista poderá te indicar módulos de
>> forma mais útil :-)
>>
>> Sobre achar mais de uma solução: TIMTOWTDI :D
>>
>> [ ]'s
>> Buss
>>
>>
>> 2013/7/31 Marcio - Google <marciorp em gmail.com>
>>
>>> Salve Mongers!
>>>
>>> Estou re-escrevendo vários scripts em bash e mesmo alguns em Perl, e
>>> gostaria de fazer da forma certa ou seguindo as melhores práticas. Então
>>> tenho três dúvidas:
>>>
>>> 1. Nos scripts bash eu uso o logger para gravar as informações de log,
>>> pois o syslog se encarrega das estratégias de arquivamento, compactação,
>>> envio de e-mail, etc. Em Perl qual a melhor maneira de interagir com o
>>> syslog? Ou devo usar outra estratégia de log?
>>>
>>> 2. Preciso de arquivos de configuração, para guardar IPs, caminhos,
>>> portas, etc. Hoje tenho um arquivo texto que gravo pares dado=valor, um por
>>> linha, e faço a leitura na mão. Como devo fazer em Perl e qual o melhor
>>> formato? As vezes tenho que gravar dados sensíveis, como senhas.
>>>
>>> 3. Os parâmetros são uma pedra no sapato. Hoje meus scripts (Bash e
>>> Perl) tem uma ordem que os parâmetro  devem ser passado, e se não for
>>> passar algum parâmetro tenho que colocar no lugar um par "" e dentro do
>>> script ler um por um fazendo os tratamentos com intermináveis "IFs".
>>> Gostaria de usar parâmetros como o próprio Perl, tipo -<letra ou nome do
>>> parâmetro><valor do parâmetro>, sem me preocupar com ordem. Como fazer?
>>> Módulo, técnica ...
>>>
>>> 4. Tenho um script que é executado na inicialização do OS, e como ainda
>>> não sei direito lidar com daemons, uso o nohup. Esse script fica lendo uma
>>> série de informações de vários locais, e conforme as regras ele chama
>>> outros scripts, e até mesmo um script único, mas várias vezes. Só que as
>>> vezes tenho que trocar informações entre esses scripts, tenho que enviar
>>> informações do Pai pro Filho e vice-versa. Hoje faço isso por arquivos, o
>>> que é um s*c* e está sujeito a erros. Essas informações são sempre cadeias
>>> de caracteres, p.e., a7f93j5.
>>> Pra ficar mais fácil de entender, vou exemplificar:
>>> 4.1. O pai chama um filho e passa por parâmetro o canal que ele deve
>>> usar, mas em um determinado momento o pai precisa que o filho mude de canal.
>>> 4.2. O filho está recebendo mais erros que o normal no processo e
>>> precisa avisar o pai.
>>> 4.3. O pai precisa que o filho pare o processamento por um determinado
>>> tempo ou até que receba outra instrução, mas sem encerrar, só fique parado,
>>> tipo while (1) {}.
>>> 4.4. O pai precisa que o filho conclua o processo atual e encerre,
>>> salvando os dados.
>>> 4.5. O pai precisa saber se o filho está trabalhando e não está travado
>>> ou caiu.
>>> 4.6. O filho precisa avisar o pai que concluiu o lote e está parando.
>>> Essas são algumas das situações.
>>>
>>> Estou a alguns dias pesquisando no Dr. Google, mas sempre acho mais de
>>> uma solução para a mesma questão. Gostaria da melhor, mais simples, mais
>>> prática.
>>>
>>>
>>> [...]'s
>>>
>>> Marcio
>>>
>>> ========================================
>>> ########### Campanha Ajude o Marcio! ###########
>>> http://sosmarcio.blogspot.com.br/
>>> http://www.vakinha.com.br/VaquinhaP.aspx?e=195793
>>> ========================================
>>>
>>> =begin disclaimer
>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>>
>> =begin disclaimer
>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20130731/dea62a18/attachment-0001.html>


More information about the SaoPaulo-pm mailing list