1. 程式人生 > 實用技巧 >flower 轉自:https://www.jianshu.com/p/4a408657ef76

flower 轉自:https://www.jianshu.com/p/4a408657ef76

flower的啟動

首先flower作為web頁面來管理celery後臺任務,和任務佇列是隔離的,也就是flower的執行與否並不會影響到任務佇列的真正執行,但是flower中可以通過API介面來管理celery中的任務執行。

在django工程目錄下面(和manage.py檔案在一個層級),具體的執行命令:

python manage.py celery flower --basic_auth=floweradmin:12345 --port=8083

由於本人在django工程中已經設定了 BROKER_URL 所以在上述的flower啟動命令中就沒有再次指定佇列url。

flower介面介紹

本片文章著重進行flower介面的介紹,主要是因為沒有一個完整的文件來進行介紹,所以下面是詳細介紹flower介面中各個頁面展示的內容,並且各個欄位的含義。

flower介面

Dashboard

Dashboard 頁面是展示非同步任務佇列的主要情況,該頁面包括如下幾種狀態的任務:

  • Active: 表示worker從佇列中獲取到任務,且正在執行的任務數
  • Processed: 表示worker從佇列中獲取到任務的總資料量
  • Failed: 表示worker從佇列中獲取到任務,且執行失敗了的(異常退出)
  • Successed: 表示worker從佇列中獲取到任務,且執行成功了的
  • Retried: 表示worker從佇列中獲取到任務,因為一些其他原因重新執行的數量

所以,上述這些數量的關係如下:
Processed = Active + Received + Failed + Successed + Retried
其中 Received 表示該任務分配到了worker中,但是還沒有被處理的任務數量

Dashboard頁面

Worker Name 表示的是執行celery任務的worker名稱;
Status 表示的是該worker的狀態,包括 Online (線上) 、 Offline(離線),重啟flower程序,即可將Offline狀態的worker剔除掉;
Active / Processed / Failed / Successed

/ Retried 分別表示該worker正在執行的任務數、該worker處理的總任務數、處理失敗的任務數、處理成功的任務數、重試的任務數;
Load Average 表示系統在 1min / 5min / 15min 內的CPU平均負載(百分比)

Tasks

Tasks 頁面是展示所有worker接收到的任務的處理情況。下面對該表格中的做一些介紹

Tasks頁面
  • Name: 表示該任務的名稱,預設規則為該函式的路徑規則,例如 {模組名}.{檔名}.{函式名}
  • UUID: 表示一個唯一字串ID用於表示該任務
  • State: 表示該任務的狀態,包括: SUCCESS / FAILURE / STARTED / RECEIVED
    • SUCCESS 表示該任務執行完畢且成功
    • FAILURE 表示該任務執行失敗
    • STARTED 表示該任務正在執行
    • RECEIVED 表示該任務在worker中,只是被接收而已
  • args: 表示該任務的列表引數
  • kwargs: 表示該任務的字典引數
  • Result: 表示該任務函式的返回結果
  • Received: 表示該任務在worker接收到的時間
  • Started: 表示該任務在worker開始執行的時間
  • Runtime: 表示該任務在worker真正執行的耗時(單位:秒)
  • Worker: 表示該任務所在的worker名稱

Broker

Broker 頁面展示的是celery連線訊息佇列的資訊,包括訊息佇列的訪問URL,下面的截圖展示的是連結的RabbitMQ,當然也可以連結Redis等。

Broker頁面
  • Name: 表示佇列的名稱
  • Messages: 表示該佇列的訊息數量
  • Unacked: 表示該佇列中還沒收到ack確認的訊息數量(該訊息可能處於 RECEIVED 或是 STARTED
  • Ready: 表示該佇列中還未分配到worker的訊息數量
  • Consumers: 表示消費者數量(即worker數量)
  • Idle since: 表示該佇列空閒的最初時間,否則為 N/A

Monitor

Monitor 頁面展示的是celery後臺任務的曲線展示狀況。

Monitor頁面



作者:jshan
連結:https://www.jianshu.com/p/4a408657ef76
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。