Google App Engine: 从任务中向队列添加任务
我需要从另一个网站获取数据。因为这些数据分布在60多页上,所以我打算使用每天定时运行的任务来添加一个工作到队列中。这个任务会处理一页数据,然后根据一些检查,可能会把自己再放到队列里,以便处理下一页。
现在,我在我的web应用程序的RequestHandler类中的简单
taskqueue.add(url='/path/to_self', params=control)
导致了一个
"POST /path/to_self HTTP/1.1" 405 -
有没有办法让这个工作正常运行,还是说在任务内部根本无法添加新的任务到队列里?
1 个回答
6
你可以在一个任务里面添加其他任务。我在我的应用程序中就是这么做的。
这在你需要迁移大量数据的时候特别有用:一个任务处理一小部分数据,然后再把自己添加到队列里,继续处理剩下的,直到迁移完成。
我不太确定你的代码有什么问题。
你在你的请求处理类中实现了post(self)这个方法吗?任务默认是调用POST方法的。