如何向 Django Celery Flower Monitoring 添加身份验证和端点?

Posted

技术标签:

【中文标题】如何向 Django Celery Flower Monitoring 添加身份验证和端点?【英文标题】:How do I add authentication and endpoint to Django Celery Flower Monitoring? 【发布时间】:2013-10-18 11:41:44 【问题描述】:

我一直在本地使用flower,它似乎很容易设置和运行,但我不知道如何在生产环境中设置它。

具体来说,我如何添加身份验证以及如何定义一个 url 来访问它?

【问题讨论】:

你能帮忙用 celeryd 设置花吗....实际上我正在运行 python manage.py celeryd 的芹菜,它运行良好,但是当我试图运行 celery flower -A proj --address=127.0.0.1 --port=5555 的花时,它没有得到运行... 【参考方案1】:

对于自定义地址,请使用 --address 标志。 对于身份验证,请使用 --basic_auth 标志。

见下文:

# celery flower --help
Usage: /usr/local/bin/celery [OPTIONS]

Options:

  --address                        run on the given address
  --auth                           regexp  of emails to grant access
  --basic_auth                     colon separated user-password to enable
                                   basic auth
  --broker_api                     inspect broker e.g.
                                   http://guest:guest@localhost:15672/api/
  --certfile                       path to SSL certificate file
  --db                             flower database file (default flower.db)
  --debug                          run in debug mode (default False)
  --help                           show this help information
  --inspect                        inspect workers (default True)
  --inspect_timeout                inspect timeout (in milliseconds) (default
                                   1000)
  --keyfile                        path to SSL key file
  --max_tasks                      maximum number of tasks to keep in memory
                                   (default 10000) (default 10000)
  --persistent                     enable persistent mode (default False)
  --port                           run on the given port (default 5555)
  --url_prefix                     base url prefix
  --xheaders                       enable support for the 'X-Real-Ip' and
                                   'X-Scheme' headers. (default False)

【讨论】:

外部ip和0.0.0.0都试过了,都没有成功。 Grrr,基本身份验证。我已经为 django 提供了一个不错的身份验证设置。现在是第二个。有没有办法让花成为我 django 项目的一部分?【参考方案2】:

你一个使用https://pypi.org/project/django-revproxy/

这种方式Flower隐藏在Django auth后面,你不需要在你的网络服务器中重写规则。

此答案的原始来源:Celery Flower Security in Production

【讨论】:

以上是关于如何向 Django Celery Flower Monitoring 添加身份验证和端点?的主要内容,如果未能解决你的问题,请参考以下文章

flower 时区设置

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

Celery+rabbitmq+mysql+flower

不同服务器上的 Django 和 celery,一旦任务完成,celery 能够向 django 发送回调

使用 django-celery 时如何创建单个类对象?

通过 celery 向 django-channels 发送消息