Estamos usando a versão mais recente do Discourse. Recentemente, notei que os relatórios de Métricas de Atividade na página de administração são atualizados apenas uma vez por dia. Na verdade: apenas na primeira vez do dia em que acesso o painel. Isso é normal? É possível configurar o Discourse para atualizar esse relatório com mais frequência?
Minha compreensão é que as estatísticas na seção de atividade devem ser atualizadas a cada meia hora. Isso não parece estar acontecendo, no entanto. Não há nenhuma configuração que possa ser usada para configurar isso. Vamos dar uma olhada no que está acontecendo com isso.
Estou observando o mesmo problema em outros sites, então não acredito que haja um problema com sua instalação. O problema que estou vendo é que as estatísticas na seção de Atividade do painel de administração não permanecem sincronizadas com as estatísticas dos relatórios individuais dos quais os dados são extraídos. Vamos investigar o que está acontecendo com isso.
Ainda estou vendo esse problema na coluna ‘Hoje’ das Métricas de Atividade no Meta. Tenho quase certeza de que os resultados deveriam ser armazenados em cache apenas por meia hora, mas parece que os resultados dessa seção são armazenados em cache por um período maior.
Embora a página de administração diga que a visão geral foi atualizada há alguns minutos, isso só acontece uma vez por dia. Como posso configurar para que seja atualizado mais de uma vez por dia?
EDIT:
Descobri que o problema é apenas na visualização mensal. Se eu alternar para a visualização semanal, as estatísticas estão corretas.
EDIT 2:
OK. Nem tudo está atualizado na visualização semanal.
Não sou a pessoa certa para corrigir isso, mas o problema pode estar relacionado ao que está acontecendo aqui:
Ao ler o arquivo, parece que a intenção era que as estatísticas fossem armazenadas em cache apenas por 30 minutos, mas, pelo que pude verificar, as estatísticas são atualizadas apenas uma vez por dia.
Provavelmente não tem relação, mas o método setex parece aceitar um tempo em segundos, não em minutos. O código está passando 35.minutes na chamada do método. Estou assumindo que há alguma mágica do Rails que faz a conversão para segundos.
Ok, isso está aguardando revisão/merge, mas isso deve resolver:
Era um bug na nossa biblioteca cache.rb, onde não estávamos passando o valor de expires_in, e como resultado, estávamos usando o valor padrão de um dia em vez de 30 minutos.