I'm not sure, but it seems both alerts = Alert.all().filter('expires >= ', datetime.datetime.now())
and alerts = Alert.all().filter('expires >= ', datetime.datetime.now()).fetch(1000) should be the same, since according to documents, app engine only return the first 1000 records. On Fri, May 1, 2009 at 1:36 PM, tayknight <taykni...@gmail.com> wrote: > > I figured out that I needed to do a > alerts = Alert.all().filter('expires >= ', datetime.datetime.now > ()).fetch(1000) > > Apparently it is faster to do a fetch() than iterate over the values. > > On Apr 30, 7:28 pm, tayknight <taykni...@gmail.com> wrote: >> Data is returned in development almost instantly. In production, the >> error is returned after about 4 seconds. I get the datastore error >> long before 30 seconds. >> >> On Apr 29, 9:08 am, Liang Zhao <alpha....@gmail.com> wrote: >> >> > Each request can only run 30 seconds in server side, >> >> > but in development server, there is no limitation on it... >> >> > On Wed, Apr 29, 2009 at 11:56 PM, tayknight <taykni...@gmail.com> wrote: >> >> > > And, I should add, this works perfecty (and quickly) from the >> > > development server's datastore. >> >> > > On Apr 29, 8:31 am, tayknight <taykni...@gmail.com> wrote: >> > >> I have a problem. I'm getting datastore timeouts when doing reads. The >> > >> code finished about 5% of the time. The code looks like: >> >> > >> alerts = Alert.all().filter('expires >= ', datetime.datetime.now()) >> > >> # ge active alerts >> > >> for alert in alerts: >> > >> #get the db.Keys from the ListProperty >> > >> zones = ZoneMaster.get(alert.zones) >> > >> for zone in zones: >> > >> if zone: >> > >> #get the users for this zone >> > >> if zone.siteusers: >> > >> us = SiteUser.get(zone.siteusers) >> > >> for u in us: >> > >> if u: >> > >> self.response.out.write(u.name + '<br />') >> >> > >> The Model looks like: >> > >> class Alert(db.Model): >> > >> effective = db.DateTimeProperty() >> > >> expires = db.DateTimeProperty() >> > >> zones = db.ListProperty(db.Key) >> >> > >> class ZoneMaster(db.Model): >> > >> siteusers = db.ListProperty(db.Key) >> >> > >> class SiteUser(db.Model): >> > >> name = db.StringProperty() >> > >> zone = db.ReferenceProperty(ZoneMaster) >> >> > >> This code is repeatably timing out with a "Timeout: datastore timeout: >> > >> operation took too long." error. >> > >> I'm not doing any writes. All the reads are by key (that come from a >> > >> ListProperty). Why would this be timing out? >> >> > >> Thanks. >> >> > -- >> >> > Cheers! >> >> > Liang Zhao- Hide quoted text - >> >> > - Show quoted text - > > > -- Cheers! Liang Zhao --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---