返回顶部

05- 在flask中使用celery

from celery import Celery
from flask import Flask

def make_celery(app):
    celery = Celery(app.import_name, broker=app.config['CELERY_BROKER_URL'], backend=app.config['CELERY_RESULT_BACKEND'])
    celery.conf.update(app.config)
    TaskBase = celery.Task
    class ContextTask(TaskBase):
        abstract = True
        def __call__(self, *args, **kwargs):
            with app.app_context():
                return TaskBase.__call__(self, *args, **kwargs)
    celery.Task = ContextTask
    return celery

app = Flask(__name__)
app.config.update(
        CELERY_BROKER_URL='redis://127.0.0.1:6379',
        CELERY_RESULT_BACKEND='redis://127.0.0.1:6379/0'
)

celery = make_celery(app)


@celery.task(name='add_together')
def add_together(a, b):
    print('张彪')
    return a + b


@app.route('/')
def hello_world():
    result = add_together.delay(23, 42)
    print(result.wait())
    return 'Hello World!'

if __name__ == '__main__':
  app.run()

 

https://www.cnblogs.com/forward-wang/p/5970806.html

 

 

运行celery

celery -A Twst.celery worker --loglevel=info

 

 

celery + RabbitMQ的使用

http://www.360doc.com/content/17/1025/15/48465278_698021969.shtml

 

posted @ 2018-07-25 14:23  Crazymagic  阅读(427)  评论(0)    收藏  举报