Celery 使用(一)
生活随笔
收集整理的這篇文章主要介紹了
Celery 使用(一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Celery 使用(一)
架構
如下圖:
整體的流程,任務發布者或者是任務調度,將任務發送到消息代理中,接著消息代理將任務發送給消費者來執行,其執行完后將結果保存到backend中。
使用
先創建Celery實例和相關的任務,這里配置Celery可以通過創建一個配置文件,然后通過app.config_from_object('proj.celeryconfig')加載即可。
task.py如下
from celery import Celery app = Celery('tasks', backend='amqp', broker='amqp://guest@localhost:5672//') @app.task def add(x, y):return x + y接下來,創建相關的任務發布者,run_task.py如下
from task2 import add result = add.delay(1,1) import time while not result.ready():print('not yet ready')time.sleep(1) print(result.get())然后在項目目錄中,通過命令執行Celery,命令如下:
celery -A task2.app worker --loglevel=info如果看到命令行里顯示該實例的所有任務說明執行成功,最后再開一個進程執行任務,接著就會看到命令行中的提示信息,說明消費者執行成功,并且將結果保存到backend中。
一個簡單的用例就結束了。
疑惑
之前有一個疑惑的點在于,既然RabbitMQ可以實現任務隊列,要Celery有何用呢?
從我搜索到的知識來看,有以下幾點:
轉載于:https://www.cnblogs.com/George1994/p/7385335.html
總結
以上是生活随笔為你收集整理的Celery 使用(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 猫猫学iOS之小知识iOS启动动画_La
- 下一篇: 【shell】shuf命令,随机排序