Flask бросает вызов «работает вне контекста запроса» при запуске подпотока

Я пытаюсь запустить новый поток в Python внутри приложения Flask. Я выполняю фоновую работу, которая запускается запросом, но мне не нужно ждать, пока работа будет выполнена, чтобы ответить на запрос.

Можно ли установить запрос flask в этой подугрозе на пришедший запрос? Причина в том, что наш ACL для наших запросов к нашей БД (mongoengine перед mongoDB) полагается на пользователя запроса (он захватывает его из объекта запроса фляги), чтобы увидеть, есть ли у них доступ к объектам, и его взрыв, потому что запрос недоступно в подтеме.

Будем признательны за любые мысли.

Вот псевдокод того, как я обрабатываю это сейчас, но он не работает.

@app.route('/my_endpoint', methods=['POST'])
def my_endpoint_handler():
    #do tracking in sub-thread so we don't hold up the page
    def handle_sub_view(req):
        from flask import request
        request = req
        # Do Expensive work
    thread.start_new_thread(handle_sub_view, (request))
    return "Thanks"
50
задан MattoTodd 29 March 2012 в 08:02
поделиться