Я хочу использовать многопроцессорную обработку в python для параллельного запуска 10 функций.
Но в каждом примере я видел порождение процесса, выполняемого только внутри, если name = " main ". Я использую колбу api в моем коде Python, поэтому должен вызвать app.run () и оттуда я вызываю main (). Поэтому я сомневаюсь, что я могу делать это, вызывая процессы для многопроцессорной обработки внутри main (), а не в случае, если name ?
Это минимальная версия моего кода
app= Flask(__name__,template_folder='templates', static_folder='static')
@app.route('/')
def index():
return render_template('firstpage.html')
@app.route('/', methods=['POST'])
def getvalue():
#some basic declarations
main()
flask.jsonify({'html': filename})
def main():
start_time = time.time()
createDirectory("Myapp")
p1 = Process(target=func1(mycol1,mycol2))
p1.start()
p2 = Process(target=func2(mycol3,mycol4))
p2.start()
p3 = Process(target=func3(mycol5,mycol6))
p3.start()
p4 = Process(target=func4(mycol7,mycol8))
p4.start()
p1.join()
p2.join()
p3.join()
p4.join()
print("--- %s seconds ---" % (time.time() - start_time))
if __name__ == "__main__":
app.run(debug=True)
У меня есть 10 таких функций. Любые предложения по улучшению кода или подхода будут полезны.