Question

Our app is currently being throttled, we are getting

{
  "error": {
    "message": "(#4) Application request limit reached", 
    "type": "OAuthException", 
    "code": 4
  }
}

On App->Insights->Developer->Activity & Errors we are seeing

Restrictions
App is unrestricted.

API Throttling
None during specified period.

So it doesn't look like we should be getting throttled, but I can see a warning,

Calls Are Too CPU Intensive  - 2 hours, 38 minutes
Method  Fraction of Budget

gr:post:User/external_edge  109%
gr:post:User/scores 1.8%
gr:get:User/external_edge   1.8%
gr:get:/fql 1.2%
ui:feed:async:get:  0.43%
gr:post:OpenGraphAction/commen  0.15%
ui:apprequests:iframe:get:  0.08%
gr:delete:Post  0.04%
gr:delete:  0.02%
ui:feed:async:post: 0.02%

I assume this means that we're posting too often to User/external_edge... but I don't know what User/external_edge is -- how do I find this out?

Also shouldn't we have gotten an email or warning before being cut off from the API? What do we need to do to get unthrottled?

Was it helpful?

Solution

The limits reset automatically after a while, i think it's a 600 second rolling window for calculation of the limit, but might extend the blocking to 3600seconds if the limit is actually reached; Unfortunately there's no way in the API response to see how close you are to the CPU and call limits, and the CPU limit in particular is hard to predict because calls have vastly varying resources needed to process them.

gr:post:User/external_edge is Open Graph actions, the other methods are named after the name of the connection (e.g. gr:post:User/scores is a Graph API (gr) POST request (post) against the scores connection of the User object)

If your app is being throttled on these and you're not posting a large number of actions per user, check which access token is being used to make the posts; if it's an App Access Token, use the User Access Token for the user making the posts instead

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top