概要
celery には flower という管理 UI の機能があります
今回はインストールから実際に起動して動作確認するところまで行ってみました
環境
- macOS 10.15.5
- Python 3.8.3
- celery 4.4.4
- flower 0.9.4 (1.2.0)
flower のインストール
pipenv install flower
flower の起動
pipenv run flower -A tasks --broker=redis://localhost:6379 --port=5555
--broker
で celery が使っているブローカを指定します
--port
でポートを指定できます
デフォルトは 5555 になっています
P.S 20221005
flower1.2.0では以下のように起動コマンドが変わっているのでご注意ください
-
pipenv run celery -A tasks flower --broker=redis://localhost:6379 --port=5555
動作確認
今回使うタスクは以下の通りです
from celery import Celery
app = Celery('tasks', broker='redis://localhost:6379')
@app.task
def add(x, y):
print(x + y)
起動しましょう
pipenv run celery -A tasks worker -l info
あとは何回かタスクを消化させてみます
from tasks import add
add.delay(100, 1)
pipenv run python test.py
これで localhost:5555
にアクセスしてみましょう
起動しているワーカの一覧が表示されると思います
ワーカをクリックすると詳細情報が確認できます
プールサイズの変更なども画面からできるようです
またタスクを実行するキュー (Consumer) も画面から追加できるようです
最後に
celery の管理 UI である flower を試してみました
ブローカを指定して起動するだけなので簡単です
ある程度のワーカの設定変更もできるのでプロセスを再起動することなく操作できるのは嬉しい点かなと思います
認証を追加することもできるようなので特定のユーザにのみ閲覧させることも可能です
celeryの最新版では以下のような起動コマンドになっているのでご注意ください
返信削除pipenv run celery -A tasks flower --broker=redis://localhost:6379 --port=5555