使用任务队列时出错

时间:2011-05-09 03:08:05

标签: google-app-engine email task-queue

我有一个谷歌应用引擎。 当我向任务队列添加任务以发送电子邮件时。我有这个错误:

请求失败,因为URL要求用户登录。对于在App Engine中调用的请求(诸如任务队列之类的离线请求,或者像XMPP和传入邮件之类的webhook),URL必须要求管理员登录(或不登录)。

我的命令是

taskqueue.add(url ='/ mypage / operation / task',params = {'key':operation.key()}

请帮我解决。

感谢。

2 个答案:

答案 0 :(得分:6)

这特别指的是app.yaml中的哪个处理程序与任务工作者URL匹配。它可以指定无需登录要求或login: admin,但不能指定login: required

这是一项完整性检查,可确保您了解任务运行的上下文。允许任务绕过用login: admin修饰的处理程序,但是当它们运行时,它们在上下文中将没有任何用户。 users.get_current_user()users.is_current_user_admin()在任务执行的上下文中不起作用,因此将任务置于login: required处理程序后面是没有意义的。

答案 1 :(得分:1)

没有看到您的网址设置很难说,但是看起来/ mypage / operation / task需要用户登录才能调用它,但是发送到任务队列的内容将在幕后调用用户已登录。

从该网址中删除登录要求,或将其设为管理员必填网址