Chris ,
        We implemented something like this "network status" using the  
rate_limit_status call (for the IP), while some of the numbers are  
sometimes wonky with this api right now we poll this every 5 minutes  
and set a flag to enable or disable all twitter requests from the  
server depending on what is returned. This has the effect of backing  
off twitter when we get limited, as well as automatically bring  
twitter service up when the blackout period subsides.. Even with the  
wonky numbers, we blindly accept what the call returns and disable  
when api credits say they are 0 and if the call times out you know for  
sure its time to back off.  ( I know these criteria are overly  
aggressive, but we figure its better to aggressively back off in the  
hopes it helps things recover quicker)

When the server is in blackout, simply report that twitter is still  
having ongoing issues to the user with a note and a link to the  
twitter status page, keeps them informed as to what is going on  
without flooding your inbox or you having to respond to all the users  
emails, If the message in the UI saves you from having to read through  
and answer 10 emails, it is worth the work to implement. Its all about  
keeping the user informed, just like we like to be informed by twitter  
about what the status is.

Another tip is to make sure you set a resonable timeout for all your  
twitter requests or people get stuck waiting for your page to load and  
think its broken, better to timeout and again report that twitter is  
still recovering for DDoS attack and direct them to the twitter status  
page..

While this may seem like unnecessary work if twitter is going to get  
back to normal, it makes your app more robust to issues in the future,  
keeps your users better informed as to what is happening (without  
contacting you), and also helps reduce number of requests to twitter  
that they have to ignore while they are recovering

On that note, it seems our servers are disabling significantly less  
frequently over the past few hours. Heres hoping it lasts.. Not sure  
if it was the back off or if Twitter has just managed to cope better  
with the traffic issues.. Doesn't really matter to me which..

Oh and thanks for the update Chad, it really is nice just to hear  
something, even if its not great news.



On Aug 8, 2009, at 4:19 AM, Chris Babcock wrote:

> On Fri, 7 Aug 2009 11:05:32 -0700
> Ryan Sarver <rsar...@twitter.com> wrote:
>
>> I wanted to send everyone an update to let you know what has been
>> happening, the known issues, some suggestions on how to resolve them
>> and some idea of how to move forward.
>
> This was really appreciated. When the dust clears, maybe one more
> suggestion? An API to check on the network status? I think
> infrastucture attacks aren't going away anytime soon. We've got a
> diversity of applications here, some of which can chew up the  
> bandwidth
> pretty well and some of those just don't make sense to run if other
> users can't get on-line. Instead of answering, "Is it OK to restart my
> cron jobs?" the cron jobs could shut themselves down for increments of
> so many hours.
>
> Chris Babcock
>
> PS - Of course it could be misused, but I think the benefit is net.

Reply via email to