所以我试图在app引擎中测试任务队列功能。基本上我在应用程序引擎中用于创建任务的设置是:
q = taskqueue.Queue(REQUEST_QUEUE)
....
userQuery = cgi.escape(self.request.get('query'))
timeID = '%f' % time.time()
payload_str = userQuery+timeID
tasks.append(taskqueue.Task(payload = payload_str, method='PULL'))
q.add(tasks)
然后,计算引擎实例稍后将从队列中获取任务(如果存在)。我的问题是,当我尝试通过此过程添加新任务时,即使我从队列中删除了现有任务,我也会收到错误(我没有手动命名任务):
内部服务器错误
服务器出错或无法执行请求的操作。
追踪(最近一次通话): 在电话中输入文件“/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py”,第1535行 rv = self.handle_exception(request,response,e) 在电话中输入文件“/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py”,第1529行 rv = self.router.dispatch(请求,响应) 在default_dispatcher中输入文件“/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py”,第1278行 return route.handler_adapter(request,response) 文件“/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py”,第1102行,致电 return handler.dispatch() 文件“/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py”,第572行,在发送中 return self.handle_exception(e,self.app.debug) 文件“/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.2/webapp2.py”,第570行,发送 返回方法(* args,** kwargs) 文件“/base/data/home/apps/s@munnypenny-dev/1.374214486618340630/main.py”,第57行,邮寄 q.add(任务) 文件>“/ base / data / home / runtimes / python27 / python27_lib / versions / 1 / google / appengine / api / taskqueue / tas> kqueue.py”,第1924行,另外 return self.add_async(task,transactional).get_result() 文件>“/ base / data / home / runtimes / python27 / python27_lib / versions / 1 / google / appengine / api / taskqueue / tas> kqueue.py”,第1872行,在add_async中 RPC) 文件>“/ base / data / home / runtimes / python27 / python27_lib / versions / 1 / google / appengine / api / taskqueue / tas> kqueue.py”,第1983行,在__AddTasks中 提出BadTaskStateError('任务已经入队。') BadTaskStateError:任务已经入队。
非常感谢任何帮助。