使用主管运行芹菜作为守护程序不起作用

 如痴如醉as_961 发布于 2023-01-04 13:37

我有一个django应用程序,它有芹菜功能,所以我能够成功运行芹菜如下

celery -A tasks worker --loglevel=info

但作为一个众所周知的事实,我们需要将它作为守护进程运行,所以我在celery.conf文件/etc/supervisor/conf.d/夹中写了下面的文件

; ==================================
;  celery worker supervisor example
; ==================================

[program:celery]
; Set full path to celery program if using virtualenv
command=/root/Envs/proj/bin/celery -A app.tasks worker --loglevel=info

user=root
environment=C_FORCE_ROOT="yes"
environment=HOME="/root",USER="root"
directory=/root/apps/proj/structure
numprocs=1
stdout_logfile=/var/log/celery/worker.log
stderr_logfile=/var/log/celery/worker.log
autostart=true
autorestart=true
startsecs=10

; Need to wait for currently executing tasks to finish at shutdown.
; Increase this if you have very long running tasks.
stopwaitsecs = 600

; When resorting to send SIGKILL to the program to terminate it
; send SIGKILL to its whole process group instead,
; taking care of its children as well.
killasgroup=true

; if rabbitmq is supervised, set its priority higher
; so it starts first
priority=998

但是当我试图更新主管时supervisorctl reread,supervisorctl update我正在收到消息supervisorctl status

celery                           FATAL      Exited too quickly (process log may have details)

所以我去了worker.log文件,看到如下错误信息

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即使我们已将其设置为管理员conf文件中的环境变量?我在上面的conf文件中做错了什么?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有