Issue #42
Gamificação em background
Quando qualquer uma das ações que afetam a pontuação de um usuário é executada, uma série de cálculos e análises automáticas são feitas pelo sistema para verificar quais e de maneira as pontuações devem ser atualizadas. Esta não é uma arquitetura escalável, pois enquanto todas estas custosas operações estão sendo executadas, o usuário que efetuou uma ação (por exemplo, criou uma proposta ou adicionou um comentário) está aguardando uma resposta do sistema. Faria mais sentido que o cálculo da pontuação fosse executado em background, ou seja, paralelamente à ação que o originou, de forma que o usuário não precise aguardar por isso, uma vez que o retorno imediato da ação não depende de nada que será gerado pela atualização da pontuação. Uma forma disso é criar um “trabalho” em um “fila” que será processada em plano de fundo, da mesma forma que acontece com a geração de miniaturas das imagens que são enviadas ao Noosfero.
-
O código está disponível aqui: https://softwarepublico.gov.br/gitlab/hugomelo/gamification/commits/merit_delayed
Mas ainda não foi mesclado ao código em produção..