suh*_*lvs 3 python django initialization celery django-celery
我正在尝试安装init.d脚本,以运行celery来安排任务。当我尝试通过启动时sudo /etc/init.d/celeryd start,它会引发错误"User does not exist: 'celery'"
我的芹菜配置文件(/etc/default/celeryd)包含以下内容:
# Workers should run as an unprivileged user.
CELERYD_USER="celery"
CELERYD_GROUP="celery"
Run Code Online (Sandbox Code Playgroud)
我知道这些是错误的,这就是为什么它会引发错误。
该文档只是说:
CELERYD_USER
User to run celeryd as. Default is current user.
Run Code Online (Sandbox Code Playgroud)
仅此而已。任何帮助将不胜感激。
我正在添加一个正确的答案以便清晰可见:
工人是将运行各种芹菜任务的UNIX进程。正如您在文档中所看到的那样,CELERYD_USER和CELERYD_GROUP确定用户的名称,并确定这些工作组将在您的Unix环境中运行。
因此,在您的情况下,最初发生的事情是celery尝试使用系统中不存在的名为“ celery”的用户来启动工作程序。当您注释掉这两个选项时,celery用发出该命令的用户启动了工作程序,sudo /etc/init.d/celeryd start在这种情况下,该用户是root(管理员)用户(默认为当前用户)。
但是,出于明显的原因,建议将工作进程作为非特权用户而不是root用户运行。因此,我建议使用http://www.cyberciti.biz/faq/unix-create-user-account/上的小教程实际添加celery用户和组,然后再次取消注释
CELERYD_USER =“ celery” CELERYD_GROUP =“芹菜”
选项。
| 归档时间: |
|
| 查看次数: |
2608 次 |
| 最近记录: |