Aplica lógica de retry para a comunicação via socket
requested to merge sige-gces-2020.2/smi-slave:retrying-logic-to-socket-communication into development
closes #77 (closed)
Como foi reportado na issue #77 (closed), erros na camada de rede estavam gerando um excesso de eventos do tipo Communication Failure
.
Esses erros tinham curtíssima duranção (alguns segundos) e podem ser evitados aplicando uma lógica de retry dentro do intervalo de 60 segundos entre os MinutelyCollectCronJob
.
Para isso foi utilizado a bem conhecida biblioteca retrying, onde é possível decorar uma determinada funções e definir uma lógica de tentativas.
A lógica aplicada foi:
- Tempo de espera entre tentativas de 2.5 segundos
- Para assim que passar 30 segundos desde a primeira tentativa