Come scrub messaggi Twitter e Facebook per molti utenti

1

Sto facendo un'app Rails che in teoria dovrebbe fregare nuovi post dagli account facebook e twitter degli utenti e metterli in una timeline per un analista da analizzare e determinare se sono post buoni o cattivi, se l'utente ha postato " contenuto errato "l'analista lo contrassegna come tale e avvisa l'utente.

Ho effettuato l'autenticazione con omniauth e ho creato entrambe le app di Facebook e Twitter, gli utenti possono già accedere e in cambio ottengo una chiave oauth e un segreto, con questi posso fare le rispettive chiamate API.

Ora, per la vera domanda, come dovrei controllare i nuovi aggiornamenti? Ho pensato di usare resque o sidekiq per mettere in coda periodicamente gli account di Facebook e Twitter di ciascun utente, ma non sarebbe troppo se avessi molti utenti, creando un nuovo client API (sto pensando alle gemme di Koala e Twitter) con ogni utente chiave e segreto ogni volta?

Qual è il modo migliore per farlo?

E una volta che ho ricevuto i post degli utenti dovrei archiviarli nel DB o semplicemente metterli in un'altra coda resque o sidekiq perché possano essere analizzati e scartati una volta che sono?

    
posta Agush 02.10.2014 - 09:12
fonte

1 risposta

1

In realtà non esiste altro modo per ottenere queste informazioni rispetto al recupero dei dati.

Dovresti entrare in ogni API per cercare modi per ridurre al minimo il tuo lavoro. Alcuni potrebbero accettare ETag, o "Last-Modified" in modo che la tua richiesta scada rapidamente se non c'è nulla;)

Facebook ad esempio ti consente di chiedere poche risorse contemporaneamente ( link )

A seconda della tua app, per ridurre al minimo il numero di richieste che potresti

  • analizza statisticamente il modo in cui i diversi utenti pubblicano e modificano le priorità di conseguenza (a seconda della loro posizione, molti di loro non twittano quando dormono - alcuni lo faranno, usando soluzioni come bufferapp)

  • recupera i dati quando l'utente entra nella tua pagina. Puoi anche chiamare alcune di queste API sul lato client e quindi inviare le informazioni al tuo sistema per analizzarle.

risposta data 06.11.2015 - 12:30
fonte

Leggi altre domande sui tag