GAE sites are problematic for the Twitter/Search API because the IPs
making outgoing requests are fluid and cannot as such be easily
allowed for access. Also, since most IPs are shared, other
applications on the same IPs making requests mean that fewer requests
per app get through.
One work around would be to spin up a server in EC2 or Rackspace Cloud
or something and use it as a proxy for your requests. That way you
have a dedicated IP that will have its full share of resources talking
with the Twitter servers.
HTH,
-Chad
I am sorry but that doesn't even help in the slightest.
You are essentially saying that we shouldn't develop on the App
Engine, since would now have to also buy a proxy. Which is completely
unfeasible and defeats the purpose of why people are using the app
engine.
I understand that this might also be an App Engine issue - for
instance they could have reduced the number of IP addresses they pool
from to make external requests.
This is a very noticeable change in rate limiting in the last few
weeks. For instance I could run roughly 2 searches a second, then all
of a sudden I would be lucky to run 2 every 15 seconds. User-Agent
strings were supposed to allievate this issue. There are more than
enough pieces of meta data on an App Engine request that Identify the
exact application that is making the requests - I guess it is too much
effort to take these into account.
I am in the fortunate position that allowed me to set up a nginx proxy
quickly, but I suspect a lot of other people couldn't do that.
I hope something can be sorted for the large number of GAE based
Twitter apps.
Paul Kinlan
Josh
Sorry, I thought it was clear from the previous email. There is no ETA
because it's not going to be resolved. GAE does not use an IP
infrastructure that is amicable to our rate-limiting logic, so if you
want to integrate IP rate-limited calls into your web-based
applications, you will need to either use the workaround stated
earlier or use a hosting service that will let you use a static IP.
-Chad