Я использую python и движок приложений Google. Я хотел бы использовать очередь задач. В рамках обработчика очереди задач я проверяю, является ли текущий пользователь администратором (используя службу «Пользователи»). Этот тест всегда терпит неудачу. Есть ли способ заставить этот тест пройти?
update: Чтобы избежать дальнейшей путаницы, я пытаюсь выяснить, был ли пользователь, запустивший задачу, администратором или нет (это всего лишь простой пример). Я так понимаю, что задача запускается с сервера и все куки пользователей давно пропали. Итак, ответ, на который я надеялся, был способом перенести сеанс на задачу
import logging
from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.api import taskqueue
class MyRequesHandler(webapp.RequestHandler):
def get(self):
taskqueue.add(url="/task/")
class MyTaskHandler(webapp.RequestHandler):
def post(self):
if users.is_current_user_admin():
logging.debug("admin")
else:
logging.debug("not admin")
def main():
logging.getLogger().setLevel(logging.DEBUG)
application = webapp.WSGIApplication([
('/', MyRequesHandler),
('/task/', MyTaskHandler)
],
debug=True)
run_wsgi_app(application)