【问题标题】:error when using task queue使用任务队列时出错
【发布时间】:2011-05-09 03:08:05
【问题描述】:

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

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

我的命令是

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

请帮我解决它。

谢谢。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      要么从该网址中删除登录要求,要么将其设为管理员所需的网址

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-02-23
        • 1970-01-01
        • 1970-01-01
        • 2018-10-18
        • 1970-01-01
        • 2011-07-28
        • 1970-01-01
        相关资源
        最近更新 更多