2009-06-09 5 views
5

L'API di streaming di Twitter dice che dovremmo aprire una richiesta HTTP e analizzare gli aggiornamenti mentre entrano. Avevo l'impressione che l'urlfetch di Google non potesse mantenere la richiesta http aperta per 10 secondi.Esiste un modo per l'urlfetch di Google App Engine di aprire e mantenere aperta una connessione API per lo streaming di Twitter?

Ho considerato di avere un cron job che ha eseguito il polling del mio account Twitter ogni pochi secondi, ma penso che Google AppEngine consenta solo i lavori cron una volta al minuto. Tuttavia, la mia applicazione ha bisogno di un accesso quasi in tempo reale ai miei twitter @replies (preferibilmente solo un ritardo di 10 secondi o meno).

Esistono metodi per ricevere aggiornamenti in tempo reale da Twitter?

Grazie!

+0

Per eseguire il polling di Twitter ogni pochi secondi, è possibile prendere in considerazione una coda di attività o un back-end. – Bugs

risposta

2

Sfortunatamente, non è possibile utilizzare l'API urlfetch per "hang gets". Tutti i dati verranno restituiti al termine della richiesta, quindi, anche se si potrebbe tenerlo aperto arbitrariamente a lungo, non ti farebbe molto bene.

Avete considerato l'utilizzo di Gnip? Forniscono un sistema di notifica basato su push "web hook" per molti feed pubblici, compresa la timeline pubblica di Twitter.

+0

Gnip è "Re-Launching Februaru 2010". Ci sono altri servizi che farebbero questo? – dfrankow

+0

Nessuno di cui sono a conoscenza, al momento. :( –

1

Sono curioso.

Non vuoi che questo venga interrogato da Twitter sul lato client? Stai sondando il tuo feed pubblico? In tal caso, decentrerei il lavoro sui client piuttosto che sul server ...

+0

In realtà desidero eseguire l'elaborazione degli aggiornamenti sul lato server (filtro specifico per l'utente finale), pertanto il polling sul lato client non funzionerebbe. Grazie comunque! – ehfeng

+0

Ah, ha senso. –

1

Potrebbe essere possibile utilizzare Google Compute Engineper mantenere connessioni GET pendenti senza restrizioni, quindi chiamare un webhook nell'app AppEngine per fornire i dati dalla VM del motore di calcolo a dove deve essere in AppEngine.