【问题标题】:How to Running celeryd as a daemon in ubuntu?如何在 ubuntu 中将 celeryd 作为守护进程运行?
【发布时间】:2013-08-21 06:41:57
【问题描述】:

我正在尝试安装一个 init.d 脚本,以运行 celery 来安排任务。当我尝试通过sudo /etc/init.d/celeryd start 启动它时,它会抛出错误"User does not exist: 'celery'"

我的 celery 配置文件 (/etc/default/celeryd) 包含这些:

# Workers should run as an unprivileged user.
CELERYD_USER="celery"
CELERYD_GROUP="celery"

我知道这些是错误的,这就是它抛出错误的原因。

documentation 只是这样说:

CELERYD_USER
User to run celeryd as. Default is current user.

没有更多关于它的内容。 任何帮助将不胜感激。

【问题讨论】:

  • 您是否尝试将 celery 用户和组添加到您的 Ubuntu 中?或者只是注释掉 CELERYD_USER 和 CELERYD_GROUP 选项以将其作为当前用户运行...
  • @Serafeim 谢谢。我注释掉了CELERYD_USERCELERYD_GROUP 现在它可以工作了。反正你知道这些是什么意思???

标签: python django initialization celery django-celery


【解决方案1】:

为了清晰可见,我添加了一个正确的答案:

Workers 是运行各种 celery 任务的 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="芹菜" CELERYD_GROUP="芹菜"

选项。

【讨论】:

    猜你喜欢
    • 2012-10-13
    • 2011-07-21
    • 2014-04-26
    • 2013-03-09
    • 2023-03-02
    • 2011-10-02
    • 1970-01-01
    • 2015-07-12
    • 2017-03-31
    相关资源
    最近更新 更多