这是我的/etc/systemd/system/celery.service
[Unit]
Description=celery service
After=network.target
[Service]
PIDFile=/run/celery/pid
User=celery
Group=celery
RuntimeDirectory=/home/mike/movingcollage
WorkingDirectory=/home/mike/movingcollage
ExecStart=celery -A movingcollage -l info
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
Restart=on-abort
PrivateTmp=true
[Install]
WantedBy=multi-user.target
/home/mike/movingcollage
是一个有效的目录,在其他地方工作正常。 我哪里出错了?我正在从这个页面接受建议:
http://docs.celeryproject.org/en/latest/userguide/daemonizing.html#service-file-celery-service
而这个答案:
如何将芹菜配置为在 nginx 启动时运行?
提前致谢
RuntimeDirectory
是您希望 systemd 在/run/
下为您创建的目录的名称。
由于目录名称不能包含斜杠,因此您会收到有关该选项无效的错误。
对于您的特定用例,我认为您根本不想指定RuntimeDirectory
(您的 Celery 是否期望/查找 /run/
下的目录?