Stiamo utilizzando l’ultima versione di Discourse. Recentemente ho notato che i report sulle Metriche di Attività nella pagina di amministrazione vengono aggiornati solo una volta al giorno. In realtà: solo la prima volta che accedo al pannello di gestione durante la giornata. È normale? Posso configurare Discourse per aggiornare questo report più frequentemente?
La mia comprensione è che le statistiche nella sezione attività dovrebbero essere aggiornate ogni mezz’ora. Tuttavia, questo non sembra accadere. Non esiste alcuna impostazione utilizzabile per configurare questo aspetto. Verificheremo cosa sta succedendo.
Sto riscontrando lo stesso problema su altri siti, quindi non credo che ci sia un problema con la tua installazione. Il problema che osservo è che le statistiche nella sezione Attività della dashboard di amministrazione non rimangono sincronizzate con le statistiche dei singoli report da cui vengono estratti i dati. Verificheremo cosa sta succedendo in merito.
Vedo ancora questo problema nella colonna ‘Oggi’ delle Metriche di attività su Meta. Sono abbastanza sicuro che i risultati dovrebbero essere memorizzati nella cache solo per mezz’ora, ma sembra che i risultati per quella sezione siano memorizzati nella cache per un periodo più lungo.
Sebbene la pagina di amministrazione indichi che la panoramica è stata aggiornata da alcuni minuti, questo avviene solo una volta al giorno. Come posso impostare un aggiornamento più frequente, più di una volta al giorno?
MODIFICA:
Ho scoperto che il problema riguarda solo la visualizzazione mensile. Se passo alla visualizzazione settimanale, le statistiche sono corrette.
MODIFICA 2:
Ok. Non tutto è aggiornato nella visualizzazione settimanale.
Non sono la persona giusta per risolvere questo problema, ma la questione potrebbe essere correlata a quanto avviene qui:
Leggendo il file, sembra che l’intenzione fosse quella di memorizzare le statistiche nella cache solo per 30 minuti, ma per quanto ne so, le statistiche vengono aggiornate solo una volta al giorno.
Probabilmente non correlato, ma il metodo setex sembra accettare un tempo in secondi, non in minuti. Il codice passa 35.minutes nella chiamata al metodo. Presumo che ci sia qualche magia di Rails che gestisce la conversione in secondi.
Ok, questo è in attesa di revisione/unione, ma dovrebbe risolvere il problema:
Si trattava di un bug nella nostra libreria cache.rb, dove non stavamo passando il valore di expires_in, e di conseguenza veniva utilizzato il valore predefinito di un giorno invece di 30 minuti.