celery(芹菜)是乙個靈活可靠,處理大量資訊的分布式系統,主要有三部分構成:訊息中介軟體、任務執行單元(work)和任務執行結果儲存(task result store)組成。
celery 核心模組
celery有一下5個核心角色
task
就是任務,有非同步任務和定時任務
broker
中間人,接收生產者發來的訊息即task,將任務存入佇列。任務的消費者是worker。celery本身不提供佇列服務,推薦用redis或rabbitmq實現佇列服務。
worker
執行任務的單元,它實時監控訊息佇列,如果有任務就獲取任務並執行它。
beat
定時任務排程器,根據配置定時將任務傳送給broker。
backend
用於儲存任務的執行結果。
各個角色間的關係看下面這張圖理解一下:
celery簡單使用
1 新建tasks.py檔案,在該檔案內定義我們的功能函式,比如add from celery import celery tasks backend rpc broker redis localhost defadd x,y return x y 2 啟動redis作為訊息中介軟體,使用內建的rp...
celery專案中的應用
我的目錄結構是這樣的 就是參考celery官方教程寫的了.coding utf 8 from future import absolute import,unicode literals from celery import celery author liunan date 2020 12 16 ...
Django 中celery的簡單使用
celery的本質 通過提前建立的程序呼叫函式來實現非同步的任務。任務執行者 worker 提前建立的程序,呼叫對應的函式來實現非同步任務。任務發出者 傳送需要worker執行的任務函式的資訊。中間人 broker 任務佇列,儲存任務發出者發出的資訊。1 任務執行者 建立的程序 可以單獨在另一台電腦...