Blog

Postado em em 24 de fevereiro de 2022

Sistema de Alertas Automáticos por E-mail com Python

Hoje vamos ter mais um case prático de Python para te mostrar como criar um sistema de alertas automáticos por e-mail!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Sistema de Alertas Automáticos por E-mail com Python

Hoje eu quero te mostrar mais um case prático em Python, vamos criar um sistema de alertas automáticos por e-mail.

Nós já mostramos aqui no blog outro case prático no Python de Cobranças Automáticas por E-mail com Python, então é muito interessante também caso tenha interesse.

Sistema de Alertas Automáticos

A ideia desse projeto é que você já tenha uma base de dados para fazer sua análise de dados com essas informações.

Só que como não vamos utilizar uma base de dados específica, nós vamos criar um gerador de dados para gerar informações aleatórios de forma automática.

Gerador de dados aleatórios
Gerador de dados aleatórios

Aqui nós temos o código para gerar esses valores aleatórios e temos também um banco de dados online onde estamos armazenando essas informações.

Para esse banco de dados online nós vamos utilizar o Firebase, onde vai precisar de uma conta do Google para poder acessar, então se não tiver é bom criar!

Página inicial do Firebase
Página inicial do Firebase

Assim que entrar no site você pode clicar em Ir para o console na parte superior direita. Na próxima fase você não tem nenhum projeto, mas basta clicar em Adicionar projeto.

Feito isso vamos passar por algumas etapas para a criação do projeto. Na primeira temos que colocar o nome do projeto, seguida vamos clicar em continuar.

Na segunda etapa podemos desativar o Google Analytics e já podemos clicar em Criar projeto.

Feito isso seu projeto está criado, agora podemos ir em Criação > Realtime Databse para configurar o nosso banco de dados.

Criando a base de dados
Criando a base de dados

A primeira etapa é para escolher a localização, na segunda etapa vamos marcar a opção Iniciar no modo de teste, por fim vamos clicar em Ativar.

Copiando o link do banco de dados
Copiando o link do banco de dados

Você vai notar que o banco de dados foi criado e ainda não temos informações dentro dele. Aqui podemos copiar esse link e substituir no código paga gerar dados aleatórios.

OBS: Lembrando que na hora de colar o link nós vamos deixar o .json dentro do link.

Agora você só vai precisar executar esse código para começar a gerar seus dados aleatórios.

OBS: Vale lembrar que aqui no blog nós já temos posts sobre a biblioteca pandas, biblioteca requests e biblioteca datetime.

Agora que nós já criamos a nossa base de dados aleatória podemos dar início ao código. Claro que você vai poder utilizar a sua própria base de dados caso já tenha.

Lendo as informações do banco de dados
Lendo as informações do banco de dados

Para essa parte inicial vamos importar as bibliotecas que serão utilizadas e já vamos fazer a leitura das informações no banco de dados.

Para as informações de data nós já estamos garantindo que elas ficarão no formato de dia e hora e não qualquer outro formato que possa atrapalhar a nossa análise.

Como temos uma base de dados sendo gerada a todo momento e vamos querer fazer uma análise a cada dois minutos, a ideia não é sempre fazer uma análise completa da nossa base de dados.

A ideia seria analisar somente os últimos 2 minutos, assim estaríamos analisando somente os dados mais recentes sem perder tempo e memória tendo que analisar sempre as mesmas informações.

Sistema de Alertas Automáticos
Estipulando o período de análise

Então como nossa análise será a cada dois minutos nós podemos pegar apenas as informações dos últimos 2 minutos para fazer essa verificação.

Isso é muito útil principalmente quando a nossa base de dados é muito grande, então vamos ter informações reduzidas para analisar.

Além de analisar os últimos 2 minutos, nós vamos querer verificar se esses dados (que são de vazão) são maiores do que 150.

Sistema de Alertas Automáticos
Filtrando as informações de acordo com o limite de vazão

Com isso nós vamos criar uma lista de todos os valores que dentro desse período são maiores do que 150 para criar o nosso alerta.

OBS: Nesse caso você vai poder fazer a sua própria análise, pode ser preço, quantidade, estoque, margem… qualquer outra informação que precise analisar. Podendo levar em conta se esse valor ficar acima ou abaixo de um limite específico. Isso quer dizer que você vai poder adaptar o código a sua necessidade.

Por fim nós vamos criar um e-mail para enviar o nosso alerta de todos os valores da nossa lista de alertas.

Sistema de Alertas Automáticos
Criando o e-mail de alerta

Aqui nós temos todo o procedimento para ler os dados, verificar os últimos 2 minutos de informação, verificar se alguma dessas informações foi superior ao limite estabelecido.

E por fim vamos enviar o e-mail de alerta para cada uma dessas informações.

Só que da forma que o código está ele só vai ser executado quando você o executar, então ele não está rodando a todo momento.

Para isso nós vamos ter que colocar essas informações dentro de um While True e no final desse código colocar para esperar 120 segundos com o time.sleep(120).

Então podemos juntar esse código em um bloco para facilitar e deixar todo ele dentro do while para que ele seja executado em um loop infinito até que você pare a execução.

Como estamos apenas te mostrando como fazer, você fica livre para modificar o código e adaptar a sua necessidade.

Sistema de Alertas Automáticos
Ajustando o código para monitoramento a cada 2 minutos

O time.sleep(120) no final vai fazer com que esse bloco todo seja executado a cada 2 min, mas se você for fazer uma análise diferente pode alterar tanto esse valor, quanto o valor interno para pegar os últimos 2 minutos de análise no seu banco de dados.

Conclusão

Na aula de hoje eu te mostrei um case prático em Python para criar um sistema de alertas automáticos por e-mail com Python.

Esse é um sistema muito útil principalmente para quem precisa fazer uma análise constante de informações no dia a dia.

Então sempre que alguma delas estiver fora do padrão ou passar do limite estipulado você vai receber um e-mail de alerta com essas informações para tomar as devidas providências.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso gratuito?


Vire uma referência no Mercado de Trabalho por causa do Power BI!

Quer saber como? Inscreva-se no Intensivão de Power BI! É gratuito!