[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:38:56 PDT 2013


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/437cedb0/attachment.html>


More information about the SaoPaulo-pm mailing list