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?
My understanding is that the stats in the activity section should be updated once every half hour. That doesn’t seem to be happening though. There is no setting that can be used to configure this. We’ll take a look at what’s going on with it.
I am seeing the same issue on other sites, so I don’t think there is a problem with your installation. The problem I’m seeing is that the stats in the Activity section of the admin dashboard do not keep in sync with the stats of the individual reports that the data is pulled from. We will look into what is going on with this.
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.