我可以看到我的任务正在运行但我在自己的页面上看不到任何东西self.response.out.write()
我这样做:
class CounterWorker(webapp.RequestHandler):
def post(self): # should run at most 1/s
self.response.out.write("<a href='/'>start over</a><br /><br />")
class MainHandler(webapp.RequestHandler):
def post(self, mode=""):
taskqueue.add(url='/worker', countdown=10)
答案 0 :(得分:3)
没有。我不明白为什么你会期望任何输出。
任务是一个单独的过程。任务的重点在于它与与用户交互的代码完全分开运行。它用于执行不需要用户输出的长时间运行计算。
因此,您的面向用户的代码 - 需要在30秒内完成 - 接受来自用户的任何参数,触发任务,然后立即响应用户(例如,“处理触发”)。然后你的任务就会消失并完成它的工作。该任务无法直接与用户通信,因为原始请求已完成。
如果你愿意,你可以让你的任务在某个地方(在数据存储实体或内存缓存中)设置一个标志来确定处理的当前状态,然后你可以编写一些Ajax来调用访问该标志的处理程序和告诉用户它是否完成。但是你根本无法直接写入任务中的输出。