App Engine。每隔一分钟查询一次

时间:2011-03-31 06:42:33

标签: python google-app-engine

在谷歌应用引擎中,我每分钟存储一次传感器数据。因此,24小时内共有1,440个读数。这意味着我遇到了所有查询的最大限制1000个结果。

除非有人能告诉我按顺序访​​问所有1,440个读数的方法,否则我现在可以正常使用。我想查询720个读数,或每隔一分钟。

读数存储为DateTime对象,例如。 2011-03-24 02:01:00。

编写此查询的最佳方法是什么?

我正在使用:

day_start = datetime(2011, 03, 24)
day_end = day_start + timedelta(days=1)
readings = models.Log.all()
readings.filter('dateTime >=', day_start)
readings.filter('dateTime <', day_end)

我如何将其更改为仅每隔一分钟查询一次?

2 个答案:

答案 0 :(得分:0)

你也可以使用gql做这样的事情。

models.Log.gql("WHERE dateTime >= :1 AND dateTime  < :2", day_start,day_end)

答案 1 :(得分:0)

您可以使用游标获取所有结果:

    q = parse.YourModel.gql(YourQuery)
    tlist = []
    tl = q.fetch(1000)
    cursor = q.cursor()
    while len(tl) > 0:
        tlist.extend(tl)
        q = parse.YourModel.gql(YourQuery)
        q.with_cursor(cursor)
        tl = q.fetch(1000)
        cursor = q.cursor()

tlist将包含所有可变大小限制的结果(32MB)。