Ошибка состояния или контекста при использовании многопроцессорной обработки с колбой - PullRequest
1 голос
/ 02 июля 2019

Я пытаюсь использовать multiprocessing.Process () для вызова функции big_task () каждый раз, когда получен запрос, чтобы функция (которая требует времени для вычисления) могла выполняться на моем компьютере, в то время как фляга может работать параллельно и прослушиватьдля запросов.Но я получаю сообщение об ошибке:

RuntimeError: No root path can be found for the provided module "__mp_main__".  This can happen because the module came from an import hook that does not provide file name information or because it's a namespace package.  In this case, the root path needs to be explicitly provided.

На основании другого ответа SO я попытался указать аргумент root_path при вызове app = Flask ( name , root_path: "C: / Users /.. ");

Теперь я получаю еще одну ошибку:

AttributeError: module '__main__' has no attribute '__file__'

Это мой примерно мой текущий код:

import numpy as np
import tensorflow as tf
def big_task(arr):
     #some data manipulations using numpy
app=Flask(__name__,root_path="C:/Users/.../app")
@app.route("/home")
def home():
       k=request.form['arr']
       p=multiprocessing.Process(target=big_task,args=k)
       p.start()
       return 'ok'
if __name__=="__main__":
      app.run(debug=False)

Я новичок в колбе, и донЯ не совсем понимаю, почему происходит эта ошибка.Я думаю, что это что-то, связанное с созданием колбой своих состояний или контекстов, или что-то, связанное с тем, что окна не способны создавать новый процесс.Может ли кто-нибудь дать хорошее объяснение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...