如果这是一个简单或基本的问题,我是一个真正的编码n00b,所以很抱歉。异步Python类
我在Python,Webapp,Appengine上编码。
我的问题是否可以在我写出页面后继续工作?这是做最好的方法吗?基本上,当有人在我的网站上创建一个列表(www.7bks.com)时,我想继续努力,在他们刚刚选择的书籍上进行一些“后期处理”。
目前,我有这样的事情(伪!)
class InputList(webapp.RequestHandler):
def post(self):
#get books data from the post and put in datastore
list = List()
list = self.request.get('books')
list.put()
#redirect the user to the new list
self.redirect("http://www.7bks.com/list/&s" % list.id)
现在,我有一些慢(包括API调用)后处理我想要做的每本书在列表中。我不想放慢重定向用户和生成列表页面,因为我的后处理不会直接影响列表页面。我可以这样做吗?
class InputList(webapp.RequestHandler):
def post(self):
#get books data from the post and put in datastore
list = List()
list = self.request.get('books')
list.put()
#redirect the user to the new list
self.redirect("http://www.7bks.com/list/&s" % list.id)
#carry on working behind the scenes independently of the user
for book in list:
data = heavyprocessing(book)
这是否会导致我的应用程序有效地服务重定向,然后继续在幕后工作?
有没有更好的方法来做到这一点?我知道我可以使用CRON,但是在创建列表之后我很快就会喜欢这些繁重的处理过的数据,但不会立即。感觉像克朗可能不是正确的答案(除非我有一个CRON脚本运行每分钟左右,并检查新书处理?)
我知道这不是真的异步我的问题,但我想不出一个很好的方式来描述它。我确定这种东西有一些标准术语,但我不知道它是什么。谢谢:)
汤姆
太棒了!谢谢詹姆斯,我认为这基本上就是我要找的。对不起,我知道这将是一个简单的修复! – tomcritchlow 2011-01-06 20:03:59