Iniciando e parando o AppSignal
Como mix tasks não iniciam aplicações automaticamente, você precisará iniciar explicitamente a aplicação:appsignal na sua task:
Appsignal.Nif.stop/0 ao final da sua task, que bloqueia até que a extensão tenha tido tempo suficiente para enviar os payloads ao agent antes de parar.
Capturando erros
Para envolver erros na sua task e enviá-los ao AppSignal, adicione um blocorescue para capturar erros do seu código. Passe a exceção capturada para Appsignal.send_error/3 para reportá-la ao AppSignal. Adicione uma cláusula after ao seu bloco rescue para chamar Appsignal.Nif.stop/0.
Appsignal.Nif.stop/0 envia todos os dados de transação atualmente na extensão AppSignal para nosso agent. Lá, eles são transmitidos em um intervalo de 30 segundos. O container one-off pode ter encerrado antes desse tempo. Para garantir que os dados ainda sejam transmitidos, é preciso esperar 35 segundos.