Esse foi um caso real de um cliente atendido por nós da azurebrasil.cloud, a aplicação do cliente tem uma biblioteca que transforma que gera PDFs que às vezes apresenta erros relacionados a GDI.

Sem ter como investigar mais a fundo ou uma maneira de reproduzir o erro, ele pediu uma maneira simples e prática para reiniciar o App Service sem precisar conectar no portal do Azure, aparentemente após o restart os erros param de acontecer.

A primeira indicação foi as APIs/Pacotes do Azure SDK, mas como o cliente em questão não conhecia os mecanismos de Autenticação/Autorização de recursos no Azure e estava precisando de uma solução bem rápida optamos pelo uso do Logic Apps, uma solução No Code que permite criação de workflows.

Para o nosso caso temos apenas duas ações, exatamente como a foto que ilustra o post:

  1. Um gatilho http
  2. A ação nativa de gerenciar um serviço de aplicativo para fazer o restart.

Pronto, solução implementada! Simples assim!
Esse post serve especialmente para me lembrar que as soluções mais simples às vezes são as melhores!

App Service Auto-healing

Como mencionado os erros são intermitentes e sem uma causa específica, nesse caso que descrevi o cliente queria ter um controle sobre quando o restart aconteceria e para poder ter tempo de investigar o erro.

Mas existe outra solução para cenários como esse, o App Service fornece um mecanismo chamado Auto-Healing que causa o restart automático baseado em algumas condições, tais como:

  • Duração de requisições
  • Limite de uso de memória
  • Quantidade de Requisições
  • Códigos de Status HTTP

Para saber mais sobre essa função e como habilitá-la cheque na documentação clicando aqui.

💡
Podemos te ajudar com uma revisão 100% gratuita do seu ambiente cloud.
Share this post