У меня есть приложение GAE (Google App Engine), которое должно анализировать веб-сайт с 15-минутными интервалами. каждые 15 минут cron проверяет метку времени на самых старых данных (BitData()
в этом случае) для загрузки и будет анализировать данные с этой точки до utc.now()
. Unfortionetly Я не могу пройти первую часть запроса базы данных NDB для новейшего объекта BitData()
.Выполнение запроса NDB во время cronjob
Пример кода:
def bitcoincharts_last():
q = BitData.query()
q = q.order(BitData.tstamp)
if q == None:
return '0'
else:
return q[0]
Это выдает ошибку в журнале:
TypeError: order() expects a Property or query Order; received <class 'google.appengine.ext.ndb.model.DateTimeProperty'>
Использование q = q.order(-BitData.tsamp)
в порядке, обратном ответов вместо дает:
TypeError: bad operand type for unary -: 'type'
Я проверил мой код на примерах here, here, d DDB Google Docs, но я не могу найти, почему запрос не запускается.
BitData:
class BitData(ndb.Model):
key = ndb.KeyProperty
tstamp = ndb.DateTimeProperty
price = ndb.IntegerProperty
amount = ndb.IntegerProperty
Какое у вас определение модели BitData? –
обновил вопрос. – Davidrd91