Sto scrivendo un'applicazione web che estrae piccole parti di articoli da Wikipedia e li presenta agli utenti.
Non desidero cancellare le voci degli articoli perché non voglio inviare una quantità ridicola di richieste all'API di WikiMedia, caricandole inutilmente.
La mia domanda è, dato che Wikipedia è naturale, collaborativa e dinamica, quale sarebbe il modo migliore per offrire agli utenti contenuti ragionevolmente aggiornati (il contenuto non deve riflettere l'articolo corrente al 100%, ma non dovrebbe essere troppo indietro) senza interrogare costantemente i loro server?
Sono propenso a archiviare i frammenti degli articoli nel mio database insieme a un timestamp e ogni volta che un utente richiede un articolo con un timestamp su x giorni, vorrei ri-interrogare l'API e aggiornare la voce nel mio database.
L'altro problema con questo è che sto afferrando gli articoli tramite Javascript sul lato client, quindi chiamando un'API sul mio server per memorizzarlo. L'aggiornamento di un articolo sarebbe simile a:
Articolo sulle query degli utenti - > il mio server restituisce l'articolo - > il controllo sul lato client decide che il timestamp è troppo vecchio - > il lato client richiama WikiMedia e visualizza il contenuto all'utente - > client-side attiva la richiesta al mio server per memorizzare i dati.
Sembra che potrebbe essere fatto meglio, ma non voglio interrogare WikiMedia direttamente dal mio server ...
Come potrei renderlo migliore?
Architettura: framework SlimPHP, driver RethinkDB + PHP, jQuery / JS, HTML, CSS