芹菜,作为工人和调度员的推荐去魔化方法是什么



我设置了Django和Celery。我只为工人使用一个节点。

我想将其用作异步队列和调度程序。

我可以按如下方式启动任务,使用 -B 选项,它将同时执行这两项操作。

celery worker start 127.0.0.1 --app=myapp.tasks -B 
但是,当

我想守护进程时,目前还不清楚如何在生产中执行此操作。我需要同时设置两个初始化脚本吗?

我尝试将 -B 选项添加到 init.d 脚本中,但它似乎没有任何效果。文档不是很清楚。

我个人使用Supervisord,它有一些不错的选项和可配置性。这里有示例主管配置文件

实现此目的的几种方法:http://celery.readthedocs.org/en/latest/tutorials/daemonizing.html 1. 芹菜发行版带有位于path-to-celery/celery-3.1.10/extra/generic-init.d/celeryd的通用初始化脚本这可以放在/etc/init.d/celeryd-name并使用发行版中也存在的配置文件进行配置,

如下所示
# Names of nodes to start (space-separated)
#CELERYD_NODES="my_application-node_1"
# Where to chdir at start. This could be the root of a virtualenv.
#CELERYD_CHDIR="/path/to/my_application"
# How to call celeryd-multi
#CELERYD_MULTI="$CELERYD_CHDIR/bin/celeryd-multi
# Extra arguments
#CELERYD_OPTS="--app=my_application.path.to.worker --time-limit=300 --concurrency=8 --loglevel=DEBUG"
# Create log/pid dirs, if they don't already exist
#CELERY_CREATE_DIRS=1
# %n will be replaced with the nodename
#CELERYD_LOG_FILE="/path/to/my_application/log/%n.log"
#CELERYD_PID_FILE="/var/run/celery/%n.pid"
# Workers run as an unprivileged user
#CELERYD_USER=my_user
#CELERYD_GROUP=my_group

您可以将以下用于芹菜节拍配置的芹菜节拍元素添加到文件中

# Where to chdir at start.
CELERYBEAT_CHDIR="/opt/Myproject/"
# Extra arguments to celerybeat
CELERYBEAT_OPTS="--schedule=/var/run/celery/celerybeat-schedule"

然后,此配置应保存在(至少对于 centos)/etc/default/celeryd-config-name查看 init 文件以了解确切位置。现在,您可以通过运行命令将 celery 作为守护程序运行/etc/init.d/celeryd star/restart/stop

  1. 使用受监督。正如另一个答案中提到的。superviosord 配置文件也在分发路径中 dist/芹菜版本/extra/supervisord使用文件进行配置,并使用 superviosrctl 将服务作为守护程序运行

最新更新