Sto creando un'applicazione per aiutare il nostro team a gestire una competizione su Twitter. Finora sono riuscito a interagire con l'API e a restituire una serie di tweet di cui ho bisogno.Concorso Twitter ~ salvataggio di tweet (PHP e MySQL)
Non riesco a stabilire il modo migliore per gestire l'archiviazione dei tweet nel database, con quale frequenza controllare e come garantire che non vi siano sovrapposizioni o lacune.
È possibile ottenere un numero massimo di 100 tweet per pagina. Al momento, la mia idea attuale è quella di eseguire uno script cron che dice, una volta ogni 5 minuti o giù di lì e catturare 100 tweet alla volta, e scorrere attraverso di loro guardando nel db per vedere se riesco a trovarli, prima di aggiungerli .
Questo ha l'ovvio inconveniente di eseguire 100 query sul db ogni 5 minuti, e comunque ci sono anche molte INSERT
. Quale davvero non mi piace. Inoltre, preferirei avere qualcosa in più in tempo reale. Poiché Twitter è un servizio in diretta, è ovvio che dovremmo aggiornare la nostra lista di partecipanti non appena entrano.
Questo ripropone di nuovo l'inconveniente di dover ripetutamente sondare Twitter, che, anche se potrebbe essere necessario, non sono sicuro di voler battere le loro API in questo modo.
Qualcuno ha qualche idea su una soluzione elegante? Devo assicurarmi di catturare tutti i tweet e di non lasciare nessuno fuori, e di mantenere l'utente db unico. Anche se ho considerato di aggiungere tutto e quindi di raggruppare la tabella risultante per nome utente, ma non è in ordine.
Sono contento di occuparmi del lato display delle cose separatamente in quanto si tratta solo di un pull di mysql e display. Ma il design del backend mi sta facendo venire il mal di testa perché non riesco a vedere un modo efficiente per farlo scorrere senza battere né l'api né il db.
Non c'è una clausola nella politica dell'API di Twitter che dice che non è possibile salvare i tweet? – Noz