【发布时间】:2014-05-30 15:09:14
【问题描述】:
这是我想传递给任务的实体:
class MyData(ndb.Model):
...
text = ndb.StringProperty(indexed=False)
data = ndb.BlobKeyProperty(repeated=True)
details = ndb.KeyProperty(kind=Details)
我可以执行以下操作吗?
mydata = MyData.query()
mydata = mydata.filter(...)
mydata = mydata.order(MyData.added)
mydata = mydata.fetch(100)
for d in mydata:
taskqueue.add(url='/worker', payload=d)
那我怎样才能从有效载荷中提取数据呢?不要认为self.request.get('payload') 会起作用。
了解我可以只传递 ndb 键并读取任务中的实体。但这将需要额外的读取操作。或者,我可以在fetch(100) 时以某种方式使用keys_only 吗? keys_only按照the doc免费操作:
小型数据存储操作包括调用分配数据存储 ID 或 仅键查询,并且这些操作是免费的。
但它们是否算作数据存储读取操作?
【问题讨论】:
标签: python google-app-engine app-engine-ndb task-queue payload