【发布时间】:2011-02-06 15:32:50
【问题描述】:
我正在尝试将查询结果传递给任务队列:
q = models.Spam.all()
results = q.fetch(10)
taskqueue.add(url='/_ah/queue/do-spams', payload=results)
这行不通。我要么参数结构错误,要么负载不能是结果集。
【问题讨论】:
-
附带说明,这可能是个坏主意:实体可能很庞大,并且任务队列有效负载有 10k 的限制。 Deferred 将在数据存储中存储任何更大的内容,因此您不会比仅获取任务队列处理程序中的记录获得任何好处。此外,在您的任务执行时,这些记录可能已经过时了。
-
@NickJohnson:当我们有这么有用的延迟库时,为什么我们需要或者为什么其他人使用 taskqueue.add() 方法?
标签: python google-app-engine task datastore