google-app-enginechannel-api

Handling App Engine Channel API's exceeded quotas


I'm working on a project that has its server-side implemented on Google App Engine with the Java runtime. One of its features is a notification service that I'm implementing using the Channel API.

The basic functionality is already implemented and working well, but I'm not sure how to treat all possible error scenarios. By reading the Channel API Javascript Reference, there are two kinds of possible errors: Token+timed+out. and Invalid+token., which I'm already handling well with the onerror callback of the goog.appengine.Socket object that is returned by the goog.appengine.Channel method.

However, by reading the App Engine Quotas documentation, the Channel API has 4 types of quota that can be exceeded. Since both JavaScript and Java Channel API's references don't say anything about how to treat these kind of errors, I'd like to know if someone knows how can I do that.


Solution

  • From my understanding of the App Engine Quota Docs, the Channel API is just one of the many other resources available to your app (apart from bandwidth and instance hours)

    All 4 of the Channel resources(Channel API Calls, Channels Created, Channel Hours Request and Channel Data Sent(affects outgoing bandwidth) ) are indeed separate resources that can be exceeded.

    You handle over quotas in a similar way for all App Engine resources. In java, that happens to be the OverQuotaException from com.google.apphosting.api.ApiProxy.OverQuotaException