如何通过超级用户运行芹菜工人



当我使用 sudo 运行芹菜工人时,出现以下错误:

Running a worker with superuser privileges when the
worker accepts messages serialized with pickle is a very bad idea!
If you really want to continue then you have to set the C_FORCE_ROOT
environment variable (but please think about this before you do).
User information: uid=0 euid=0 gid=0 egid=0

我的C_FORCE_ROOT环境变量也是真的

echo $C_FORCE_ROOT
true

更多信息:
Python --> 2.7.6
芹菜 --> 3.1.23 (芹菜)
操作系统 --> Linux(Ubuntu 14.04)

我应该如何用须藤跑芹菜?我知道这不安全,但由于某些原因,我真的需要这样做!

好的,我找到了解决方案!
在 celery 3.1 及更高版本中,使用泡菜序列化的工作人员将崩溃,如文档中所述:

如果以启用泡菜的 root 用户身份运行,工作线程现在将崩溃。

因此,要使用 sudo,您需要在芹菜配置中禁用泡菜序列化。我通过使用 json 做到了:

app.conf.update(
     CELERY_ACCEPT_CONTENT = ['json'],
     CELERY_TASK_SERIALIZER = 'json',
     CELERY_RESULT_SERIALIZER = 'json',
)

然后如果你使用 sudo 运行,它会起作用!

相关内容

  • 没有找到相关文章

最新更新