Неверный пользователь для supervisor'd celeryd

У меня есть некоторые периодические задачи, которые я выполняю с сельдереем (демонизированным супервизором), но после попытки создать в домашнем каталоге пользователя, который я установил для процесса супервизора, я получил ошибку «доступ запрещен». Посмотрев на os.environ dict в выполняющейся задаче сельдерея, я заметил, что USER var имеет значение «root», а не пользователь, которого я установил в моей конфигурации супервизора для сельдерея.

Это мой /usr/local/etc/supervisord.conf выглядит так:

[unix_http_server]
file=/tmp/supervisor.sock
chmod=0777

[supervisord]
logfile=/var/log/supervisord.log
pidfile=/var/run/supervisord.pid

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///tmp/supervisor.sock

[program:celery]
command=/home/<USER>/.virtualenvs/sync/bin/celeryd --beat --loglevel=INFO
environment=PYTHONPATH=/home/<USER>/apps/sync
directory=/home/<USER>/apps/sync
user=<USER>
numprocs=1
stdout_logfile=/var/log/celeryd.log
stderr_logfile=/var/log/celeryd.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs = 30

Что могло быть причиной этого? Любая помощь будет очень признательна!

7
задан Martijn Pieters 24 October 2012 в 13:47
поделиться