Hi Chris - thanks for your response. A 2 second delay? Really? I
don't think that would help.
1. Another of my apps is serving 100k req / sec.
2. if I delete 100 entities every two seconds it would take me a few
months to get through them all.
Ben
On Nov 21, 11:11 am, "Chris Marasti-Georg" <[EMAIL PROTECTED]>
wrote:
> How long are you waiting between requests? I add a 2 second delay in the
> non-gae loop code when I do things like this.
>
> On Fri, Nov 21, 2008 at 12:10 PM, Ben Nevile <[EMAIL PROTECTED]> wrote:
>
> > Greetings fellow GAE dorks,
>
> > So I'm trying to clean up an existing app. I want to delete all the
> > entities of a certain class. Since there's no automagic way to do
> > this, I made a handler that deletes them a block at a time. Here it
> > is:
>
> > class DeleteHandler(BaseRequestHandler):
> > def get(self):
> > size = int(self.request.get('size',default_value='10'))
> > touches = Touch.gql('ORDER BY time desc').fetch(size)
> > db.delete(touches)
> > self.response.out.write("ok")
>
> > Pretty simple. So I called this in a loop for a while, and it started
> > timing out at the query. Hm. Perhaps a problem with the index?
>
> > I then changed the query to this:
> > touches = Touch.all().fetch(size)
>
> > So that the first index wasn't involved. This worked for a while, but
> > then started timing out again. Here's the error:
>
> > Traceback (most recent call last):
> > File "/base/python_lib/versions/1/google/appengine/ext/webapp/
> > __init__.py", line 499, in __call__
> > handler.get(*groups)
> > File "/base/data/home/apps/showmeflow/1.329447312090117530/main.py",
> > line 58, in get
> > most_recent_touches = Touch.all().fetch(size)
> > File "/base/python_lib/versions/1/google/appengine/ext/db/
> > __init__.py", line 1377, in fetch
> > raw = self._get_query().Get(limit, offset)
> > File "/base/python_lib/versions/1/google/appengine/api/
> > datastore.py", line 938, in Get
> > return self._Run(limit, offset)._Next(limit)
> > File "/base/python_lib/versions/1/google/appengine/api/
> > datastore.py", line 882, in _Run
> > _ToDatastoreError(err)
> > File "/base/python_lib/versions/1/google/appengine/api/
> > datastore.py", line 1636, in _ToDatastoreError
> > raise errors[err.application_error](err.error_detail)
> > Timeout
>
> > What's a dork to do?
>
> > Ben
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google App Engine" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---