Reminder: there will be a scheduled maintenance period for App Engine
this Tuesday, November 3rd, at 5:00 PM Pacific Time, for up to one
hour. The datastore will be in read-only mode during this time period;
all datastore writes and transactions will throw an exception. If
you'd like to modify your app to adapt, the relevant Python exception
is:
google.appengine.runtime.apiproxy_errors.CapabilityDisabledError
This will be thrown by db.Model.put(), db.Model.delete(), and
db.run_in_transaction(). You can use Python's try syntax to fail
gracefully on writes like this:
from google.appengine.ext import db
from google.appengine.runtime.apiproxy_errors import
CapabilityDisabledError
myModel = db.Model()
try:
myModel.put()
except CapabilityDisabledError:
# fail gracefully here
pass
During this scheduled maintenance, memcache will also be disabled.
Calls to the memcache API will not throw exceptions but will instead
return False for set() calls and None for get() calls (just like any
other cache miss). In addition, memcache API calls will return
immediately during this period, without any additional latency.
The maintenance schedule for the remainder of 2009 can be found here:
http://groups.google.com/group/google-appengine-downtime-notify/browse_thread/thread/78f2590cd347fdd0