I've added issue 982: 
http://code.google.com/p/googleappengine/issues/detail?id=982
as an issue to include a possible workaround for the datastore
timeouts.

Here's the text of the issue:

>From what I can tell, it's not a case of if you're going to get
datastore
timeouts on puts, but when. My original thought was for input actions
on my
application to use javascript to do the action, catching timeouts and
trying again. On a scripted input I have for my site this has worked
extremely well for making sure the data gets into my site.

However, when I started taking into account all the writes that happen
through the operation of my site, I realized that this methodology
makes
more sense to integrate at a lower level than the front end.

When I have time, after I fix a few other things with my application,
I
intend to look at creating a new Model for my site to use which will
handle
this at the put() level.

Something to the effect of:

MAX_PUT_RETRIES = 3

count = 0
while count < MAX_PUT_RETRIES:
    ''' try to put the data.
    if the put fails due to a datastore timeout, increase
    the count and try to put again. Ideally throw another
    exception if it hits MAX_PUT_RETRIES without adding the
    data.'''

If something like this could be added to GAE directly, I think it
would
help a lot of people. Though of course the extra CPU usage caused by
these
timeouts would still be an issue.

--~--~---------~--~----~------------~-------~--~----~
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