Celery之監控與管理


  Celery兩種監控工具: 命令行實用工具和Web實時監控工具Flower

 

一。命令行工具

1)進入shell環境

celery -A myCeleryProj.app shell
Python 3.7.1 (default, Jun 12 2020, 10:34:40)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)

進入含有Celery變量的python解釋器環境,Celery變量有當前的celery,app,Task

》 locals().keys()
dict_keys(['app', 'celery', 'Task', 'chord', 'group', 'chain', 'chunks', 'xmap', 'xstarmap', 'subtask', 'signature', 'low', 'add', 'fall', '__builtins__'])
> app
<Celery __main__ at 0x7fce228aac88>

還可以執行任務
add

taskB.delay()

 

2)status 在集群中列出激活的節點

celery -A celery_task.celery status

celery@VM_0_6_centos: OK
celery@VM_0_6_centos: OK

 

3)result 列出任務的執行結果

celery -A celery_task.celery result -t tasks.taskA

 

4)purse 從所有配置的任務隊列清除任務消息

celery -A celery_task.celery purge

指定清除的隊列
celery -A celery_task.celery purge -Q default, tasks_A
或排除指定任務隊列
celery -A celery_task.celery purge -X tasks_B

注意:此命令將從配置的任務隊列中清除所有的信息。不可撤銷,永久清除

 

5)inspect active 列出激活的任務

celery -A celery_task.celery inspect active

-> celery@VM_0_6_centos: OK
- empty -
-> celery@VM_0_6_centos: OK
- empty -

 

6)inspect scheduled 列出計划任務

celery -A celery_task.celery inspect scheduled

 

7)inspect registered 列出以注冊的任務

celery -A celery_task.celery inspect registered
-> celery@VM_0_6_centos: OK
    * celery_task.tasks.add
    * celery_task.tasks.fall
    * celery_task.tasks.low
-> celery@VM_0_6_centos: OK
    * celery_task.tasks.add
    * celery_task.tasks.fall
    * celery_task.tasks.low

 

8)inspect stats 列出worker的統計信息

celery -A celery_task.celery inspect stats

 

9)inspect query_task 通過ID獲取任務的信息

celery -A celery_task.celery inspect query_task
可以查詢多個
celery -A celery_task.celery inspect query_task id1 id2 ...

 

10) control enable_events/disable_events. 啟用/禁用事件

celery -A celery_task.celery control enable_events

celery -A celery_task.celery control disable_events

 

11)migrate 將任務有一個中間人轉移到另一個中間人上,試驗性命令,確保對數據進行備份

celery -A celery_task.celery migrate redis://localhost amqp://localhost

 

二。Web實時監控工具Flower

1)安裝

pip install flower

2)啟動

celery -A myCeleryProj.app flower

默認端口http://localhost:5555 也支持指定端口
celery -A myCeleryProj.app flower --port=5555

中間人URL指定
celery -A myCeleryProj.app flower --port=5555 --broker=redis://127.0.0.1:6379/0

指定地址
celery -A myCeleryProj.app flowere --address=0.0.0.0 --port=5555 --basic_auth=用戶名1:密碼1,用戶名2:密碼2

 

可結合supervisor進行服務部署


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM