Executando verificação de segurança...
6

[PM2] - Uma solução elegante para backend feito em node

Hello word ! 👋🏽

Espero que estejam bem.

Já é de conhecimento de todos os devs que os usuários finais sempre dão um jeito de quebrar nossos códigos certo? e por mais que os erros sejam devidamente tratados (o que é mais do que recomendado), não temos controle de tudo, eis que me deparo com a seguinte situação:


A historia por traz da necessidade

Trabalho em uma empresa como programador web fullstack, e estavamos com nosso back-end em node bonitinho, eis que quando colocamos em produção, alguns usuarios passaram a fazer requisições estranhas que não tinhamos tratado. Perdemos muito tempo restartando o servidor enquanto corrigiamos algumas coisas.

E foi assim que tive a necessidade de procurar uma solução para gerenciar meus processos em node. E encontrei a belezura do PM2.


Sobre o PM2

Se você se interessar pelo o que vou falar, pode clicar aqui para se aprofundar na documentação.

O pm2 é um gerenciador de processados, voltado principalmente para nodejs (você também pode gerenciar seu front). Ele permite que você incie diferentes processos no mesmo terminal (muito util para servidores como ubuntu server) e também ele coloca o seu beckend no ar caso ele caia por algum erro.

  • Instalando o pm2

Use o seu gerenciador de pacotes preferido para instalar o pm2 globalmente.

npm install pm2@latest -g
# or
yarn global add pm2
  • Iniciando um processo

Use pm2 start para iniciar um processo e apresente o diretorio do arquivo (app.js) que deseja iniciar.

pm2 start app.js

Você ainda pode usar o paramêtro --watch para rodar como nodemon, assim que você fizer alguma alteração no arquivo, ele ira reinicar o processo.

pm2 start --watch app.js
  • Parando um processo

Use pm2 stop para iniciar um processo e apresente o diretorio do arquivo (app.js) que deseja iniciar.

pm2 stop app.js
  • Visualizando os processos em execução

Talvez o comando que você mais vai usar. Para quem sabe mexer um pouquinho no linux vai ser fácil de lembrar basta colocar:

pm2 ls

Isso retornara algo como isso:

imagem de demonstação pm2 ls

  • Visualizando logs

O pm2 possui um comando para observar os logs, com esta sintaxe:

pm2 logs app.js

Mas recomendo usar o monitor do pm2 para ver todos os processos em tempo real, além dos seus logs.

pm2 monit

Algo como isso vai aparecer:

imagem pm2 monit

Ou usar o magico pm2 plus ele exige a criação de uma conta, porém é esteticamente melhor e mais facil de se usar, basta acessar a pagina o link que ele retorna no terminal.

O pm2 plus tem essa estetica:

imagem do pm2 plus


Isso é tudo sobre os comandos básicos do pm2, espero que isso seja tão enriquecedor para vocês, como foi para mim e minha equipe. Até a proxima <3

Carregando publicação patrocinada...
1
1

Se tratava de algumas consultas no banco de dados, a questão é que algumas responses retornavam strings com caracteres especiais, que era incompativel com alguma das libs que a gnt tava usando, e acabou por cair o server kkkkkkk. Nada que um bom replaceAll não resolva.