ошибка при использовании очереди задач - PullRequest
2 голосов
/ 09 мая 2011

У меня есть Google App Engine. Когда я добавляю задачу в очередь задач для отправки электронной почты. У меня есть эта ошибка:

Запрос не выполнен, поскольку для URL-адреса требуется логин пользователя. Для запросов, вызываемых в App Engine (автономные запросы, такие как Очередь задач, или веб-хуки, такие как XMPP и Входящая почта), URL-адрес должен требовать входа администратора (или отсутствия входа).

моя команда

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

Пожалуйста, помогите мне исправить это.

Спасибо.

Ответы [ 2 ]

6 голосов
/ 09 мая 2011

Это конкретно относится к тому, какой обработчик в вашем app.yaml соответствует URL-адресу рабочего задания. Он может указывать не требование входа в систему или login: admin, но не login: required.

Это проверка работоспособности, чтобы убедиться, что вы понимаете контекст, в котором выполняются задачи. Задачам разрешено обходить обработчики, отмеченные login: admin, но при запуске они не будут иметь никакого пользователя в контексте. users.get_current_user() и users.is_current_user_admin() не будут работать в контексте выполнения задач, поэтому оставлять задачи за обработчиком login: required не имеет смысла.

1 голос
/ 09 мая 2011

Не видя настройки URL, трудно сказать, но, по-видимому, / mypage / operation / task требуется, чтобы пользователь вошел в систему, чтобы вызвать его, но что-то, отправленное в очередь задач, будет вызываться за кулисами без пользователь вошел в систему.

либо удалите требование входа в систему из этого URL-адреса, либо установите для него URL-адрес администратора

...