芹菜不是 运行(权限被拒绝)

Celery not running (Permission Denied)

我不是 运行Django 项目,这只是一个简单的 python 项目,我想妖魔化芹菜。最初我是 运行 在 shell 中使用它。芹菜有时会挂在两者之间(已知问题)。因此我需要一次又一次地重新启动它。因此,我需要对其进行守护进程,这样我就可以 运行 一个通过 cronjob 自行重启 celery 的脚本。

我在 SO 上查看了各种 threads,但没有运气。

我创建了一个用户和组,都通过以下命令命名为 celery:-

sudo groupadd celery
sudo useradd -g celery celery

我将此文件创建为:/etc/default/celeryd

CELERYD_NODES="w1"

CELERY_BIN="/usr/local/bin/celery"

CELERY_APP="tasks"

CELERYD_CHDIR="/home/cube26/Desktop/cube26/c26-quicklook"

CELERYD_OPTS="--time-limit=300 --concurrency=8  -Q BBC,BGR,FASTCOMPANY"

CELERY_CONFIG_MODULE="celeryconfig" #I dont know what this is for?

CELERYD_LOG_FILE="/var/log/celery/%n.log"
CELERYD_PID_FILE="/var/run/celery/%n.pid"

CELERY_CREATE_DIRS=1

CELERYD_USER="celery"
CELERYD_GROUP="celery"

然后下载this文件并保存在/etc/init.d/celeryd.

里面

然后chmod +x /etc/init.d/celeryd使其可执行。

我就是这么做的。

我仍然收到一条错误消息 IOError: [Errno 13] Permission denied: '/var/log/celery/w1.log'

我做错了什么?请帮我改正。

根据评论,您对日志文件的写入权限有误。

请使用以下方法将所有权更改为 celery

chown -R celery:celery /var/log/celery/
chown -R celery:celery /var/run/celery/

-R 开关用于在目录中递归更改权限

告诉 celery 将 pid 文件放在哪里:

celery -A config --pidfile=${CELERYD_PID_FILE}

其中 CELERYD_PID_FILE 例如 /var/www/my_site/celery.pid