Я пытаюсь запустить новый поток в Python внутри приложения 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"