Flask начать новый поток - RuntimeError: Работа вне контекста запроса - PullRequest
0 голосов
/ 30 мая 2018

Я использую колбу для запуска моего длинного процесса, который уже связан с сеансом, который содержит идентификатор пользователя и другую информацию.я пытаюсь использовать новый поток с обоими следующими методами, но все еще получаю ошибку 'RuntimeError: Работа вне контекста запроса.'

Метод 1

import threading
Thread(target=lambda: fn(**args)).start()

Метод 2

import thread
thread.start_new_thread(fn, (), args)

1 Ответ

0 голосов
/ 06 июня 2018

Чтобы использовать сеанс внутри потока, вы должны запустить этот поток с моста с помощью copy_current_request_context

from flask import copy_current_request_context
@copy_current_request_context
def ctx_bridge():
    fn(**args)
Thread(target=ctx_bridge).start()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...