Quando è il momento migliore per calcolare le variazioni di rating in un'applicazione PHP?

0

Immagina una semplice applicazione PHP in cui un utente può pubblicare note e gli altri utenti possono inversiderarle o svenderle.

Vogliamo implementare un sistema in cui ogni nota ha una valutazione diversa (normale, buona, ottima ...) in base al numero di voti positivi e negativi di cui dispone.

La mia domanda è: quando dovrei gestire questi cambiamenti di rating?

La mia prima idea era quella di verificare ogni volta che un utente vota su una nota se il voto non cambia la valutazione (es. da normale a buono) ma considerando che la votazione sulle note sarà una delle funzioni più frequentemente utilizzate sulla nostra sito, potrebbe rallentare molto il sito.

Potremmo anche implementare un job cron che spara ogni, diciamo, mezz'ora e controlla se il numero di voti su ogni nota corrisponde al suo rating ma suppongo che sarebbe uno spreco delle nostre risorse dal momento che la maggior parte delle note potrebbe non essere stato votato durante quell'intervallo di tempo.

    
posta ondrejba 12.09.2015 - 10:15
fonte

1 risposta

2

Suggerirei, se si ha la capacità di demonizzare i processi sul proprio server, che il modo migliore per farlo sarebbe quello di includere nell'oggetto "Note" le stesse regole aziendali delle valutazioni, per notificare un servizio di coda dei messaggi (come rabbitmq) quando cambiano le classificazioni e consumano la coda dei messaggi nel servizio demonizzato per informare gli utenti che la loro nota ha una valutazione modificata. Ciò ti consentirà di mantenere i tempi di risposta delle richieste di voto individuali scattanti e gestire la notifica in modo asincrono.

    
risposta data 12.09.2015 - 11:42
fonte

Leggi altre domande sui tag