Hi,

I've got it in my logs:

  File "/base/data/home/apps/contact-birthdays/1.336002949603692439/
birthdaysapp/views.py", line 123, in index_view
    read_only = not(capabilities.CapabilitySet('datastore_v3',
['write']).is_enabled())
  File "/base/python_lib/versions/1/google/appengine/api/capabilities/
__init__.py", line 98, in is_enabled
    config = self._get_status()
  File "/base/python_lib/versions/1/google/appengine/api/capabilities/
__init__.py", line 167, in _get_status
    self._stub_map.MakeSyncCall('capability_service', 'IsEnabled',
req, resp)
  File "/base/python_lib/versions/1/google/appengine/api/
apiproxy_stub_map.py", line 72, in MakeSyncCall
    apiproxy.MakeSyncCall(service, call, request, response)
  File "/base/python_lib/versions/1/google/appengine/api/
apiproxy_stub_map.py", line 255, in MakeSyncCall
    rpc.CheckSuccess()
  File "/base/python_lib/versions/1/google/appengine/api/
apiproxy_rpc.py", line 111, in CheckSuccess
    raise self.exception
OverQuotaError: The API call capability_service.IsEnabled() required
more quota than is available.

There's nothing in the dashboard, but quotas have been reset since
I've started receiving this exception, now everything's ok.
Application id: contact-birthdays

Regards,
Pedro Morais

On Sep 1, 10:51 am, "Nick Johnson (Google)" <nick.john...@google.com>
wrote:
> Hi tijer,
> What is your App ID, and what is the exact quota error you were seeing?
>
> -Nick
>
>
>
>
>
> On Mon, Aug 31, 2009 at 7:50 PM, tijer <troels...@gmail.com> wrote:
>
> > 12 hours from now everything will revert to read-only and memcache
> > will fail. So, what to do? Well, x from Google provided a very useful
> > option on how to detect that the server has gone into read-only mode:
>
> > capabilities.CapabilitySet('datastore_v3', ['write']).is_enabled()
>
> > This will return a boolean value, and should look something like the
> > following in python:
>
> > from google.appengine.api import capabilities # check capabilities
> > with this import
>
> > if capabilities.CapabilitySet('datastore_v3', ['write']).is_enabled()
> > == False:
> >  # render page normally here, including relying on writes and
> > memcache
> > else:
> >  # fail gracefully here - possibly letting the user know that there's
> > maintenance going on and that he/she should wait half an hour and
> > check again
>
> > HOWEVER, there is a huge problem. I just did something similar for my
> > app, with the result that it immediately gave me massive quota-fails.
> > As soon as 100 of the capabilities.CapabilitySet('datastore_v3',
> > ['write']).is_enabled() had been used, it began returning over-quota
> > errors in the logs.
>
> > I can't find the quota-reference that I have presumably been
> > surpassing anywhere in the documentation, but it suddenly showed up as
> > "Capability Configs Requested" and "Capability Configs Recieved". This
> > should really have been reflected in the email sent out, or at least
> > in the quota documentation.
>
> > Under normal circumstances I would cache the response by is_enabled()
> > in memcache - but since this will not work either during maintenance -
> > there's really nothing to use the above for unless your site will have
> > less than 100 hits.
>
> > I write this, so that others might not do the same.
>
> --
> Nick Johnson, Developer Programs Engineer, App Engine
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to