6

目前,我创建了一个基于 Celery worker + Flower 监控的解决方案

https://github.com/itsrifat/flask-celery-docker-scale

Celery worker 和 Flower 监控都运行在同一个目录中flask-celery

原因是,Flower 可以访问 Celery 工作代码模块,并且以下带有-A标志的命令可以工作

entrypoint: flower
command: -A tasks --port=5555 --broker=redis://redis:6379/0

这就是他们的 docker-compose.yml 的样子

worker:
  build:
    context: ./flask-celery
    dockerfile: Dockerfile
  depends_on:
    - redis
monitor:
  build:
    context: ./flask-celery
    dockerfile: Dockerfile
  ports:
    - "5555:5555"
  entrypoint: flower
  command:  -A tasks --port=5555 --broker=redis://redis:6379/0
  depends_on:
    - redis

现在,我想创建另一个新的工作task2.py代码,它将位于名为flask-celery2.

那么,我应该如何修改Dockerfileanddocker-compose.yml以便花能够同时监控tasksandtasks2呢?

4

2 回答 2

0

是的,您必须让这个新工作人员在单独的容器中运行(最佳实践)并在 dockerfile 中进行配置,然后只要将其推送到同一个消息代理中,flower 就可以自动监控此任务。

于 2019-05-14T04:14:32.303 回答
0

您必须使用以下步骤。你必须到你的项目文件夹。

pip install flower
flower -A proj --port=5555

然后您可以在浏览器中查看并签入您的 celery 任务,例如http://yourIP:5555

于 2019-05-14T06:06:11.047 回答