Closed raffacabofrio closed 4 years ago
SonarCloud Quality Gate failed.
0 Bugs
0 Vulnerabilities (and 0 Security Hotspots to review)
0 Code Smells
0.0% Coverage
0.0% Duplication
The version of Java (1.8.0_221) you have used to run this analysis is deprecated and we will stop accepting it from October 2020. Please update to at least Java 11. Read more here
:white_check_mark: Build Sharebook-Backend: PR Check 1.0.83-fojhwtdk completed (commit https://github.com/SharebookBR/sharebook-backend/commit/83b032a393 by @raffacabofrio)
Parece que a minha teoria faz sentido. Se liga só...
https://stackoverflow.com/questions/2782802/can-net-task-instances-go-out-of-scope-during-run
Em tempo. Tentei usar o TaskWaitAll() para ter algum ganho de performance, mas deu treta com o EF. Vou manter o .Wait() mesmo.
A gente tinha intenção de usar o conceito de "fire and forget" em alguns métodos assíncronos. A intenção era boa. Mas infelizmente não funcionou. Eventualmente cerca de 30% dos métodos assíncronos "morriam" antes de terminar seu trabalho.
Creio que tenha a ver com o garbage collector. Tendo em vista que o processo principal finalizou, pra todos os efeitos esse processo assíncrono parecia orfão. E eventualmente o garbage colector matava ele.
Fiz uma validação em dev. Coloquei Wait() em todos os métodos assíncronos. E obtive 100% de aproveitamento. Alguns endpoints ficaram um pouco mais lento. Mas acho que vale a pena.