我在Django应用程序中使用芹菜。我正在使用特定用户来运行该应用程序。我可以与特定用户 - 部署者一起运行 django 服务器,但无法与该用户一起运行芹菜进程。它用根用户启动芹菜。因此,我不能使用该用户配置文件(~/.bashrc(中的环境变量。
芹菜的配置:
[program:celery_supervisor]
environment=PYTHONPATH=PYTHONPATH:/usr/local/koob/fireball/
direcotry=/usr/local/koob/fireball/
command=/usr/local/koob/fireball/env/bin/python /usr/local/koob/fireball/env/bin/celery -A fireball worker -l info
autostart=true
autorestart=true
user=deployer
stderr_logfile=/usr/local/koob/fireball/celery.err.log
stdout_logfile=/usr/local/koob/fireball/celery.out.log
django 的配置:
[program:fireball_supervisor]
directory=/usr/local/koob/fireball/
environment=PLAY_ENV=production
command=uwsgi --ini fireball.ini
autostart=true
autorestart=true
stderr_logfile=/usr/local/koob/fireball/fireball.err.log
stdout_logfile=/usr/local/koob/fireball/fireball.out.log
也许该用户不存在?无论如何,这是一个错误: https://github.com/celery/celery/issues/4201
你应该能够使用 --uid: http://docs.celeryproject.org/en/latest/reference/celery.bin.celery.html#cmdoption-celery-uid
要知道"部署程序"uid:
id -u deployer