No. If we are to offer real-time social graph changes, they'll be via
the Streaming API. In the mean time, there is no low-latency high-
throughput way to determine changes to the social graph. Attempts to
simulate this at large scale via repeated polling are likely to be
frustrating.

-John Kalucki
http://twitter.com/jkalucki
Services, Twitter Inc.

On Oct 6, 11:12 am, "Brian Smith" <br...@briansmith.org> wrote:
> John,
>
> Based on your description, it looks like you are on the verge of being able
> to offer a very useful capability: the ability to query the follows AND
> unfollows since the last time you checked. That would be a great addition to
> the API.
>
> For example, I'd really like to be able to page through A, B, C, etc. And
> then, after that, say "OK, what's changed since then"?
>
> Regards,
> Brian
>
> > -----Original Message-----
> > From: twitter-development-talk@googlegroups.com [mailto:twitter-
> > development-t...@googlegroups.com] On Behalf Of John Kalucki
> > Sent: Sunday, October 04, 2009 11:17 PM
> > To: Twitter Development Talk
> > Subject: [twitter-dev] Re: Twitter, Please Explain How Cursors Work
>
> > I haven't looked at all the parts of the system, so there's some
> > chance that I'm missing something.
>
> > The method returns the followers in the reverse chronological order of
> > edge creation. Cursor A will have the most recent 5,000 edges, by
> > creation time, B the next most recent 5,000, etc. The last cursor will
> > have the oldest edges.
>
> > Each cursor points to some arbitrary edge. If you go back and retrieve
> > cursor B, you should receive N edges created just before the edge-
> > pointed-to-by-B was created. I don't recall if N is always 5000,
> > generally 5000 or if it's at most 5000. This detail shouldn't matter,
> > other than, on occasion, you'll make an extra API call.
>
> > In any case, retrieving cursor B will never return edges created after
> > the edge-pointed-to-by-B was created. All edges returned by cursor B
> > will be no-newer-than, and generally older than, than the edge-pointed-
> > to-by-B.
>
> > So, all future sets returned by cursor B are always disjoint from the
> > set originally returned by cursor A. In your example, if you refetched
> > both A and B, the result sets wouldn't be disjoint as there are no
> > longer 5,000 edges between cursor A and cursor B.
>
> > I think this, in part answers your question. ?
>
> > -John Kalucki
> >http://twitter.com/jkalucki
> > Services, Twitter Inc.
>
> > On Oct 4, 6:10 pm, Dewald Pretorius <dpr...@gmail.com> wrote:
> > > For discussion purposes, let's assume I am cursoring through a very
> > > volatile followers list of @veryvolatile. We have the following
> > > cursors:
>
> > > A = 5,000
> > > B = 5,000
> > > C = 5,000
>
> > > I retrieve Cursor A and process it. Next I retrieve Cursor B and
> > > process it. Then I retrieve Cursor C and process it.
>
> > > While I am processing Cursor C, 200 of the people who were in Cursor
> > A
> > > unfollow @veryvolatile, and 400 of the people who were in Cursor B
> > > unfollow @veryvolatile.
>
> > > What do I get when I go back from C to B? Do I now get 4,600 ids in
> > > the list?
>
> > > Or, do I get 5,000 in B, which now includes a subset of 400 ids that
> > > were previously in Cursor A?
>
> > > Dewald

Reply via email to