Python 自定义GAE任务队列出错
我正在用AppEngine编写我的第一个“严肃”应用程序,并且在任务队列中遇到了一些问题 我已经阅读并复制了appengine文档中给出的示例代码 当我尝试将任务添加到自定义队列时,尽管它似乎对我不起作用,因为它适用于: 我所做的是:Python 自定义GAE任务队列出错,python,google-app-engine,task-queue,Python,Google App Engine,Task Queue,我正在用AppEngine编写我的第一个“严肃”应用程序,并且在任务队列中遇到了一些问题 我已经阅读并复制了appengine文档中给出的示例代码 当我尝试将任务添加到自定义队列时,尽管它似乎对我不起作用,因为它适用于: 我所做的是: from google.appengine.api import taskqueue def EnterQueueHandler(AppHandler): def get(self): #some code def post(se
from google.appengine.api import taskqueue
def EnterQueueHandler(AppHandler):
def get(self):
#some code
def post(self):
key = self.request.get("value")
task = Task(url='/queue', params={'key':key})
task.add("testqueue")
self.redirect("/enterqueue")
然后我为“/queue”设置了一个处理程序,该处理程序执行一些操作
问题是,这会引发以下错误:
NameError:未定义全局名称“任务”
为什么呢?在我看来,我缺少了一些基本的东西,但我不知道是什么。它在中表示Task类由taskqueue模块提供
到目前为止,我已经发现,如果我将上面代码中与任务相关的两行替换为以下内容,它是有效的:
taskqueue.add(queue_name="testqueue", url="/queue", params={"key":key})
但是我想理解为什么另一种方法仍然不起作用。如果有人能在这里帮助我,那就太好了。
Task
由google.appengine.api.taskqueue
模块提供
既然你已经导入了
from google.appengine.api import taskqueue
您可以替换此行:
task = Task(url='/queue', params={'key':key})
与
我认为原因是不工作是“任务”没有导入。下面是一个我一直成功使用的例子。看起来和你的一样,但我的意思不同
from google.appengine.api.taskqueue import Task
task = Task(
url=url,
method=method,
payload=payload,
params=params,
countdown=0
)
task.add(queue_name=queue)
将
任务
替换为任务队列。任务
哇,谢谢!真是太快了!这真的是一些基本的东西…我怎么能把你的评论标记为解决方案呢?很高兴它能帮上忙。我回答了你的问题。现在,您可以将答案标记为已接受。
from google.appengine.api.taskqueue import Task
task = Task(
url=url,
method=method,
payload=payload,
params=params,
countdown=0
)
task.add(queue_name=queue)