为了实现一个公开REST-api并同时运行其他功能的系统,我尝试像以下烧瓶一样使用烧瓶:
app = Flask(__name__)
app.run(threaded=True)
foo()
但是foo函数永远不会启动。
我想了解如何解决该问题或获得替代方案来实现它。
谢谢!
答案 0 :(得分:0)
转到Flask.run()的文档,我们看到提供的选项(例如线程)已转发到基础函数werkzeug.run_simple()
。 werkzeug.run_simple()
的{{3}}关于threaded
参数说了以下话:
线程化–进程应在单独的线程中处理每个请求吗?
这意味着将在单独的线程中处理每个REST调用,但不会在后台启动服务器(这似乎是您想要的)。相反,您可以使用多处理中的documentation类:
from flask import Flask
app = Flask(__name__)
from multiprocessing import Process
p = Process(target=app.run)
p.start()
foo()
这将在后台启动flask应用程序,让您在启动应用程序后运行其他功能。