環境搭建:html
1. 安裝celery4.0版本以上python
2.安裝erlang的運行環境,由於rabbitmq是基於erlang環境的; 下載連接:http://www.erlang.org/download.html git
3. 安裝rabbitmq ,下載連接:http://www.rabbitmq.com/download.htmgithub
demo測試:app
建立tasks.py測試
from celery import Celery app = Celery('tasks',backend='',broker='amqp://guest@localhost//') @app.task def add(x, y): return x + y
在項目根目錄下面的命令行裏運行:celery -A tas worker --loglevel=info啓動任務spa
而後打開python的命令行模式:命令行
>>>from tasks inport add日誌
>>>add.delay(1,3)code
運行以後就會在cmd的那個窗口裏面打印日誌的
若是運行的時候報錯ValueError: need more than 0 values to unpack
則用celery -A tas worker --loglevel=info -P eventlet啓動任務,官網說是4以上版本就有這問題,具體能夠參考這個https://github.com/celery/celery/issues/4081
最後添加任務監控:安裝Flower
而後當前項目環境下運行celery flower --broker=amqp://guest:guest@localhost:5672//