Thanks Andrius, I will try to use the datetime module.
I tried beforehand, but I couldn't get it to work (For some reason),
so I reverted to use the time.time() function, which returned a float.

I also just tried using an integer rather than a float for the
time ,and it got slower...! -  '13056ms-cpu'

Regards, and have a happy christmas,
Tom

On Dec 22, 10:31 am, Andrius <[email protected]> wrote:
> Hello Tom,
>
> try to check index.yaml to see if index for for time property exists.
>
> Why do you have float type property for the time? it would be more
> efficient to use datetime or integer, because float is much heavier.
> And try to query without maximum limit, because it will be applied by
> default:
> If more than 1000 entities match the query, and either no limit is
> specified or a limit larger than 1000 is used, only the first 1000
> results are returned by fetch().
>
> Regards,
> Andrius
>
> On Dec 21, 11:17 pm, Tom <[email protected]> wrote:
>
> > Hello!
> > I have some data within my application that I want to expire after 1
> > week. To do this every day I get the 'Scheduler Service' (http://
> > schedulerservice.appspot.com/) to run a GET request to a page on my
> > app. This then runs a GQL that finds any records over 1 week old, and
> > deletes them.
> > Seems simple? I did a test with 24 records, and it took (Apparently)
> > '10706ms-cpu' time. 10 seconds to sort through 24 records??
>
> > Here is the code:
> > class clearapicallback(webapp.RequestHandler):
> >     def get(self):
> >         self.response.out.write('secret_callback_auth_code')
> >         # 1 week = 604800
> >         request = db.GqlQuery('SELECT * FROM Database WHERE time < :
> > 1',time.time()-10).fetch(1000)
> >         db.delete(request)
>
> > and the Database object:
>
> > class Database(db.Model):
> >     pid = db.StringProperty()
> >     uid = db.StringProperty()
> >     sex = db.StringProperty()
> >     qid = db.StringProperty()
> >     qan = db.StringProperty()
> >     anon = db.BooleanProperty()
> >     time = db.FloatProperty()
>
> > My question is, why did it take 10 seconds!! It wasn't a fluke, other
> > requests have taken '17583ms-cpu' or more, with 23 records.
> > Can I make database records expire automatically (I don't want to use
> > memcache, unless it is good for storing data for a whole week)? And
> > how can I improve the performence?
> > I am expecting a lot more than 24 records to be deleted a day, and I
> > cant have it using that much CPU!
>
> > Regards
> > ~Tom
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to