【发布时间】:2015-03-03 06:52:13
【问题描述】:
我没有运行 Django 项目,这只是一个简单的 python 项目,我想妖魔化 celery。最初我在 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'
我做错了什么?请帮我改正。
【问题讨论】:
-
目录
/var/log/celery的权限是什么?谁是所有者?最简单的检查方法是运行ls -la /var/log/ -
既然你请求了
/var/log/celery的许可,我做了ls -la /var/log/celery,结果是下面的输出drwxr-sr-x 2 celery celery 4096 Mar 3 11:56 .drwxrwxr-x 23 root syslog 4096 Mar 3 11:25 ..`-rw-r--r-- 1 root root 3 月 3 日 11:25 celery.log`-rw-r--r-- 1 root root 0 Mar 3 11:29 w1.log -
你需要 chown celery.celery w1.log
-
请删除
/var/log/celery/w1.log或更改它的权限:chown -R celery:celery /var/log/celery/ -
还是一样
[Errno 13] Permission denied: '/var/run/celery/w1.pid'