視圖結構
pro_cel ├── celery_task# celery相關文件夾 │ ├── celery.py # celery連接和配置相關文件,必須叫這個名字 │ └── tasks1.py # 所有任務函數,如用戶相關 │ └── tasks2.py # 所有任務函數,如訂單相關 ├── check_result.py # 檢查結果 └── send_task.py # 觸發任務
celery.py 配置信息

# 必須叫celery,生成celery對象 from celery import Celery # 下面是配置信息,這里使用redis為列 # 處理結果 backend = 'redis://:lmdxxxx@139.xxx.xxx.42:6380/7' # 中間人 broker = 'redis://:lmdxxxx@139.xxx.xxx.42:6380/8' APP = Celery('test', broker=broker, backend=backend, # 包含一下倆個任務文件,去相應的py文件中找任務,對多個任務做分類 include=[ 'celery_task.order_task', 'celery_task.user_task', ])
celery配置中 include是多任務的時候celery會自己去里面找任務去執行
order_task.py 訂單相關的任務

# 訂單相關 from celery_task.celery import APP @APP.task def order_add(x, y): import time time.sleep(1) return '訂單相關的:%s' % (x + y)
user_task.py 用戶相關的任務

# 用戶相關 from celery_task.celery import APP @APP.task def user_add(x, y): import time time.sleep(2) return '用戶相關的:%s' % (x + y)
add_task.py 提交任務

from celery_task.order_task import order_add from celery_task.user_task import user_add order = order_add.delay(5, 6) user = user_add.delay(10, 0) print(order) print(user)
啟動worker
linux命令:celery worker -A celery_task -l info
win命令:celery worker -A celery_task -l info -P eventlet
多任務直接啟動 celery_task 這個包就行了,因為里面必須固定寫celery
注:celery_task是自己創建包的那個名字

獲取結果同上一篇文章
