Infra - Recriação do Redis

Redis é a aplicação utilizada pelo Z-PRO para armazenar memória rápida (de curto prazo) e gerenciar a execução dos processos do sistema

As Funções do Redis no Z-PRO

1. Gerenciamento de Estado (State) e Sessões da API

  • O Problema: No Z-PRO, como você pode ter dezenas de conexões do WhatsApp e centenas de usuários ativos, o sistema precisa saber instantaneamente quem está logado, qual o estado da conexão e em qual ponto de um fluxo de chatbot o cliente parou.

  • A Solução com Redis: O Redis armazena a "sessão" de cada conexão de WhatsApp e o "estado" atual de cada conversa.

2. Cache de Dados Frequentes

  • O Problema: Buscar configurações, permissões de usuário, ou a definição de um fluxo de chatbot do banco de dados principal é lento.

  • A Solução com Redis: Os dados acessados constantemente (como as regras de um chatbot ou a licença de um cliente) são copiados do banco de dados para o Redis. Dessa forma, o Z-PRO consegue acessá-los de forma muito mais rápida, refletindo em um melhor desempenho e velocidade para os usuários do sistema.

Vídeo tutorial:

OPÇÃO 1: Recriar Redis pelo terminal

1 - Acessar o terminal do seu servidor

Caminho para servidores hospedados na hostinger:

2 - Executar o zpro

sudo chmod +x ./zpro_passaporte_shell/zpro
cd ./zpro_passaporte_shell
sudo ./zpro

3 - Digitar 8

O sistema irá listar as instâncias instaladas e pedir para digitar o número da instância em que quer recriar o redis, na maioria dos casos, vai aparecer apenas uma instância, nesse caso, digite 1 para continuar o processo

Após a finalização do processo, aperte crtl + c para voltar na página inicial do terminal

4 - Reiniciar o sistema

a) Entre no terminal do seu servidor

b) Faça login com o usuário deployzdg

su deployzdg

c) Execute os comandos abaixo

pm2 flush 
pm2 restart all 
pm2 log

Exemplo de resposta após o pm2 flush

Exemplo de resposta após o pm2 restart all

Exemplo de resposta após o pm2 log

OPÇÃO 2: Recriar Redis pelo Portainer

1 - Acessar o portainer pelo navegador

http://[seu_endereco]:9000

Fazer login com usuário e senha

usuário: admin ( esse é o padrão para todas as instalações, caso você não tenha alterado)

senha: (a que foi informada no dia da instalação do zpro, se precisar, é possível redefinir a senha pelo terminal)

OPCIONAL - CASO PRECISE REDEFINIR A SENHA

Para alterar a senha, volte ao terminal com o usuário raiz (root) e execute os comandos abaixo

docker ps

Procure por um contêiner com a imagem portainer/portainer-ce (ou similar) e anote o nome do contêiner. Exemplo: [portainer-x]

Execute os comandos abaixo, substituindo o [portainer-x] pelo nome que você anotou

docker stop [portainer-x]

docker run --rm -v portainer_data:/data portainer/helper-reset-password

Verifique a Saída:

Se for bem-sucedido, o terminal mostrará uma mensagem como esta, fornecendo a nova senha:

2020/06/04 00:13:58 Password successfully updated for user: admin
2020/06/04 00:13:58 Use the following password to login: Aqui_EstA_a_Senha

Reinicie o container novamente (substituindo o [portainer-x] pelo nome que você anotou)

docker start [portainer-x]

Após fazer o login, entre dentro do docker onde está instalado o zpro

Acesso o menu "containers" e clique no container em que está instalado o redis

Clique em "Recreate"

Marque a opção e "Re-pull image" e confirme o processo clicando no botão "Recreate"

Após esse processo, o portainer efetuará a recriação do redis para a última versão disponível.

Reinicie seu zpro pelo terminal, seguindo o passo-a-passo:

4 - Reiniciar o sistema

Atualizado