Django?中使用?djcelery,?他會(huì)在數(shù)據(jù)庫(kù)中生成很多相應(yīng)的數(shù)據(jù)表, celery 的代理人(broker)這里我使用 django?自身便可以充當(dāng) broker.?但是這種情況只適合開發(fā)使用,?部署的話還是要使用 redis?等來充當(dāng) broker.因?yàn)檫@樣更穩(wěn)定和高效.
1.?安裝 celery
pip install django-celery
2. Django?設(shè)置
第一行?導(dǎo)入 djcelery.
第二行?加載.
第三行?告訴我們使用的 broker?是 Django?自身. (這里如果想使用 redis?改為 BROKER_URL= 'redis://localhost:6379/0')前提是確保你安裝了 redis.
INSTALLED_APPS?中 djcelery?是必須的,kobu.transport.django?則是基于 Django?的 broker.
設(shè)置好之后?執(zhí)行數(shù)據(jù)遷移:
1.生成遷移文件. python manage.py makemigrations
2.生成遷移 python manage.py migrate
3.創(chuàng)建一個(gè) task
一個(gè) task?就是一個(gè) Python function.?但 Celery?需要知道這一函數(shù)是 task,?因此我們可以使用 celery?自帶的裝飾器 @task.
4.執(zhí)行?tsk
從 myapp(應(yīng)用下)的 task?中導(dǎo)入 send?函數(shù).?這里要從 myapp(應(yīng)用下)導(dǎo)入箕昭,不可以從項(xiàng)目下(project)導(dǎo)入.