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 google-appengine@googlegroups.com
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to