- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在使用 supervisor 启动 flower 时遇到了挑战。
我的开发环境中的以下命令在控制台上运行
celery --app=celery_conf.celeryapp flower --conf=flowerconfig
但是转向生产环境使用 supervisor 时出现了各种各样的错误
/supervisor/conf.d/flower.conf
[program:flower]
command=/opt/apps/venv/my_app/bin/celery flower --app=celery_conf.celeryapp --conf=flowerconfig
directory=/opt/apps/my_app
user=www-data
autostart=true
autorestart=false
redirect_stderr=true
stderr_logfile=/var/log/celery/flower.err.log
stdout_logfile=/var/log/celery/flower.out.log
使用上面的配置,没有错误,但 celery 所做的只是给我一个像输出一样的帮助。就像它不承认传递的变量一样。
Type 'celery <command> --help' for help using a specific command.
Usage: celery <command> [options]
Show help screen and exit.
Options:
-A APP, --app=APP app instance to use (e.g. module.attr_name)
-b BROKER, --broker=BROKER
url to broker. default is 'amqp://guest@localhost//'
--loader=LOADER name of custom loader class to use.
etc..
etc..
etc...
另一方面,主管抛出 INFO exited: flower (exit status 64; not expected)
我有其他主管使用 celery_beat
启动应用程序并使用 configuration file samples on github并且它们在与上面相同的目录路径下运行良好
flowerconfig如下:
flowerconfig.py
# Broker settings
BROKER_URL = 'amqp://guest:guest@localhost:5672//'
# RabbitMQ management api
broker_api = 'http://guest:guest@localhost:15672/api/'
#Port
port = 5555
# Enable debug logging
logging = 'INFO'
解决方案:
嗯,这不是真正的解决方案,所以我没有把它作为答案。原来我的虚拟环境有问题。所以我删除了 flower 并像在 python3.4 上一样使用 pip3.4 再次安装
但要注意的是,要让 flower 使用您的 flowerconfig
文件,您需要添加一个 director=/path/to/your/celery_config/folder/
条目在主管的 /etc/supervisor/conf.d/flower.conf
文件中,否则 flower 将以默认设置启动。
/etc/supervisor/conf.d/flower.conf
; ==================================
; Flower: For monitoring Celery
; ==================================
[program:flower]
command=/opt/apps/venv/my_app/bin/celery flower --app=celery_conf.celeryapp --conf=flowerconfig
directory=/opt/apps/my_app/celery_conf #this is key as my configuration file was in the `celery_conf` folder
user=www-data
autostart=true
autorestart=false
redirect_stderr=true
stderr_logfile=/var/log/celery/flower.err.log
stdout_logfile=/var/log/celery/flower.out.log
谢谢。
最佳答案
您的主管无法找到 celeryapp
。 My be your supervisor 配置文件 supervisor.conf
位于不同的路径中。
您可以将directory
选项传递给主管进程。所以你可以试试
[program:flower]
directory = /opt/apps/venv/my_app/
command = celery --app=celery_conf.celeryapp flower
这会启动一个新的花实例。
另请注意 celery conf和 flower conf是不同的。
关于python - 使用 Supervisor 运行 Flower,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26985746/
我们正在使用 Flower 来可视化 Celery 中的任务和工作人员。问题是我们使用亚马逊自动缩放来产生新的 worker 。因此,旧 worker 一天终止,第二天产生新 worker ,他们将自
首先,我对我提出这个问题的方式感到非常抱歉。这是我的类(class)正在进行的一次练习回顾中提出的,我不知道它真正要求什么或如何开始。问题如下: GridWorld 中的 Grid 对象具有 getN
我开始使用 celery 花进行任务监控,它的工作非常顺利。但我有一个问题,如何在花重启后“重新加载”有关受监控任务的信息?我使用 Redis 作为代理,即使在服务(或服务器)意外重启的情况下,我也需
仅询问 Celery-Flower 的数据库(即当您使用 --persisten=True --db=flower 时)是否具有特定格式?如果是,那是什么?除了花本身之外,还有其他解析器吗? 非常感谢
题目地址:https://leetcode.com/problems/flower-planting-with-no-adjacent/ 题目描述 Youhave N gardens, label
题目地址:https://leetcode.com/problems/can-place-flowers/description/ 题目描述 Suppose you have a long flo
我尝试创建一个效果视频,例如:花落。我有一个主视频(main.mp4)和一个效果视频(flower_fall.mp4)。我想制作一个将 2 个视频合并的 output.mp4 视频,结果看起来主视频是
我想用 Flower用于监视 Celery 的 HTTP API,但除了 README 中的几个示例之外,我似乎找不到任何可用 REST 方法的文档。谁能指出我正确的方向,还是阅读源代码是唯一的选择?
我们正在使用Flower以Redis作为我们项目的经纪人监视Celery的任务。 当我们使用SSL将Redis配置为代理时,在代理选项卡中,我们可以看到下一条消息: 'redis' broker is
我想要生命之花,就像这个:https://jsfiddle.net/5ak8P var canvas = document.getElementById('canvas'), context
我正在尝试创建一个方法来计算 Flower 对象的数量(顺便说一句,创建了一个名为 flower 的类),该方法返回对象 flower 数组中特定花朵的数量。 我正在使用 HashMap 将一个整数(
我正在按照 https://github.com/jorilallo/celery-flower-heroku 上的说明进行操作将 Flower celery 监控应用程序部署到 Heroku。 配置
我使用 Flower 来监控我的 Celery 任务。 我正在尝试更改任务的显示方式(在任务 选项卡下)以使列表看起来更“有条理”。例如显示而不是 [1, 2, 3, ... . 不幸的是,overr
我在使用 supervisor 启动 flower 时遇到了挑战。 我的开发环境中的以下命令在控制台上运行 celery --app=celery_conf.celeryapp flower --co
我正在尝试使用 django + celery + rabbitmq + 花,但是在我使用 pip3 下载了花之后: Collecting flower Using cached flower-0
我正在使用 RabbitMQ 3.4.1 后端运行 Celery 3.1.16,并在 Python3.4 上使用 Flower 0.7.3 来监控我的 celery 任务。我有几个任务正在运行,我可以
我已经安装了 Apache Airflow 2.1.2 版,但是当我启动工作程序时,它说它无法从flower.command 导入名称 FlowerCommand。 操作系统centos 7, pyt
我正在运行 celery 3.1.11 和 flower 0.6.0。 我有一个这样配置的 celery 应用程序; # myapp.tasks.celery.py from __future__ i
我在两台服务器上运行 celery,其中一台 redis 作为代理。 Celery 启动命令如下所示: celery multi start 2 -A app_name 花启动命令: celery f
我正在使用 redis 作为代理运行 celery 和 celery 花。一切正常启动,worker 可以从 redis 找到作业,celery worker 成功完成作业。 我遇到的问题是 cele
我是一名优秀的程序员,十分优秀!