Tôi có một số nhiệm vụ định kỳ mà tôi chạy với cần tây (được daemonized bởi người giám sát), nhưng sau khi cố gắng tạo thư mục trong thư mục gốc cho người dùng tôi thiết lập cho quá trình giám sát tôi đã nhận lỗi "cho phép bị từ chối". Sau khi nhìn vào số os.environ
dict trong nhiệm vụ cần tây chạy, tôi nhận thấy rằng biến số USER
được đặt thành 'root' chứ không phải người dùng mà tôi đã thiết lập trong cấu hình giám sát của tôi cho cần tây.Người dùng không chính xác cho người giám sát là cần thiết
Đây là những gì tôi /usr/local/etc/supervisord.conf
trông giống như:
[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
Điều gì có thể gây ra điều này? Bất kỳ trợ giúp sẽ được siêu đánh giá cao!