安裝Celery
pip install celery
使用Celery
from flask import Flask
from celery import Celery
app = Flask(__name__)
app.config['CELERY_BROKER_URL'] = 'redis://localhost:6379/0'
app.config['CELERY_RESULT_BACKEND'] = 'redis://localhost:6379/0'
celery = Celery(app.name, broker=app.config['CELERY_BROKER_URL'])
celery.conf.update(app.config)
-
首先創建一個Celery對象,傳遞兩個參數,第一個是應用程序的名稱,第二個是worker的鏈接URL,該URl會告訴Celery代理服務在哪里運行。如果運行的不是Redis,活着代理位於其他的計算及上,則需要相應地更改URl。
Celery的任何其他配置選項都可以通過celery.conf.upfate()
調用直接從Flask的配置總傳遞, 當需要Celery存儲狀態和任務結果時,配置CELERY_RESULT_BACKED
. -
想要為后台任務運行任何的功能都需要使用
celery.task
裝飾器進行裝飾。例如:@celery.task def my_background_task(arg1, arg2): # some long running task here return result
-
然后,falsk應用程序可以請求執行后台任務,如下所示:
task = my_background_task.delay(10, 20)