相关疑难解决方法(0)

在烧瓶应用程序启动后运行代码

我的目标是在Flask应用程序启动后运行任意代码.这是我得到的:

def run():
    from webapp import app
    app.run(debug=True, use_reloader=False)
Run Code Online (Sandbox Code Playgroud)

理想情况下,我可以这样做:

def run():
    from webapp import app
    app.run(debug=True, use_reloader=False)
    some_code()
Run Code Online (Sandbox Code Playgroud)

但代码不会继续app.run(),所以some_code()永远不会运行.

我目前正在处理的解决方案是在app.run()的一个单独的线程中运行some_code(),创建一个设置它的第一个请求函数:

app.is_running = True
Run Code Online (Sandbox Code Playgroud)

然后获取some_code()以向app发送基本请求,以便"在第一次请求之前"代码运行.这相当复杂,难以记录.我宁愿使用已经在Flask中提供的app.is_running参数,或者使用@app.after_server_start装饰器,但据我所知,这些都不存在.

帮我改进这段代码?


遗腹:每当我想到这个问题,它都会让我希望@app.after_server_start装饰品存在.

python flask flask-script

34
推荐指数
4
解决办法
2万
查看次数

标签 统计

flask ×1

flask-script ×1

python ×1