# 使用create_app创建app对象
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
def create_app():
app = Flask(__name__)
db.init_app(app)
return app
在需要操作数据库的模块中进行如下操作:
from yourapp import create_app,db
from time import sleep
from threading import Thread
app = create_app()
app.app_context().push()
def my_function():
sleep(1)
my_async_function()
return 'end'
def async(f):
def wrapper(*args, **kwargs):
thr = Thread(target=f, args=args, kwargs=kwargs)
thr.start()
return wrapper
@async
def my_async_function():
with app.app_context():
user = db.User(...)
db.session.add(user)
db.session.commit()