1. 監控和管理Workers
1.1 將celery實例放入shell
[root@node2 app]# celery -A tasks shell Python 3.6.5 (default, Oct 23 2019, 12:55:54) Type 'copyright', 'credits' or 'license' for more information IPython 7.8.0 -- An enhanced Interactive Python. Type '?' for help. In [1]: app Out[1]: <Celery tasks at 0x7ff7dddbdc18> In [2]: add.delay(1,2) Out[2]: <AsyncResult: c5cfd00f-8b11-4408-95e2-241f2f3d5521>
1.2 查看任務的結果
[root@node2 app]# celery -A tasks result c5cfd00f-8b11-4408-95e2-241f2f3d5521 3
1.3 從所有已配置的任務隊列中清除消息
[root@node2 app]# celery -A tasks purge WARNING: This will remove all tasks from queue: celery. There is no undo for this operation! (to skip this prompt use the -f option) Are you sure you want to delete all tasks (yes/NO)? yes No messages purged from 1 queue
您還可以使用-Q選項指定要清除的隊列:
$ celery -A proj purge -Q celery,foo,bar
並使用-X選項排除清除隊列:
$ celery -A proj purge -X celery
1.4 列出活動的任務
celery -A tasks inspect active
1.5列出計划的ETA任務
celery -A tasks inspect scheduled
這些是設置了eta或countdown參數時由工作人員保留的任務 。
1.6 列出保留任務
celery -A tasks inspect reserved
這將列出工作者已經預取的所有任務,並且當前正在等待執行(不包括設置了ETA值的任務)。
1.7 列出已撤銷任務的歷史記錄
$ celery -A tasks inspect revoked
1.8 列出注冊的任務
celery -A tasks inspect registered
1.9 顯示worker的統計信息
celery -A tasks inspect stats
1.10 查詢任務信息
celery -A tasks inspect query_task task_id
1.11啟用和禁用事件
celery -A tasks control enable_events/disable_events
2. Flower: Celery實時的Web監控
2.1 安裝flower
pip install flower
2.2 啟動Flower
celery -A tasks flower
可以添加--port參數指定監聽端口,默認監聽5555
或者通過指定Broker URL
$ celery flower --broker=amqp://guest:guest@localhost:5672// or $ celery flower --broker=redis://guest:guest@localhost:6379/0
3. celery events: Curses Monitor
celery -A tasks events
可以看件如下界面:
按j,k鍵可以選中task,查看任務結果