1. 异步任务不共用Flask视图中上下文
1.1 正常情况下flask+celery
from flask import Flask, g
from celery import Celery
def make_celery(app):
celery = Celery(app.import_name)
celery.conf.update(app.config["CELERY_CONFIG"])
return celery
flask_app = Flask(__name__)
flask_app.config.update(CELERY_CONFIG={
'broker_url': 'redis://localhost:6379',
'result_backend': 'redis://localhost:6379',
})
celery = make_celery(flask_app)
@celery.task()
def add_together(a, b):
print(f'g.result in celery is: {
g.result}')
return a + b
@flask_app.route("/calc_sum")
def calc_sum():
g.result = 3
print