芹菜守护进程:配置文件中没有 found/celeryd 错误

celery daemon: not found/celeryd error in configuration file

我通过关注 the user guide and this question on SO 在 Ubuntu 上妖魔化芹菜。简而言之,

从 celery github 存储库下载初始化脚本 celeryd

the user guide 中的配置文件保存为 celeryd.conf(与上面的初始化脚本 celeryd 区分开来)并编辑设置。

我有一个额外的步骤,将上述两个文件从 Windows 机器传输到 Ubuntu。

然后

sudo cp celeryd /etc/init.d/celeryd
sudo chmod +x /etc/init.d/celeryd
sudo cp celeryd.conf /etc/default/celeryd
sudo useradd -N -M --system -s /bin/bash celery
sudo addgroup celery
sudo adduser celery celery
sudo mkdir -p /var/run/celery
sudo mkdir -p /var/log/celery
sudo chown -R celery:celery /var/run/celery
sudo chown -R celery:celery /var/log/celery

然而,当 运行

sudo /etc/init.d/celeryd start 

它抛出错误:

not found/celeryd: 9: /etc/default/celeryd: 

数字9是配置文件中第一个非注释行/etc/default/celeryd

这是怎么回事?我该如何解决?谢谢。

原因是celeryd 配置文件是在Windows 上编辑并传输到Ubuntu,因此,它以'\r\n' 作为行尾。

错误信息

not found/celeryd: 9: /etc/default/celeryd: 

没有提供信息。但是搜索它让我找到了 a post,这为我指明了正确的方向。从配置文件 /etc/default/celeryd 中删除 '\r' 可解决问题。

所以:

cp /etc/default/celeryd celeryd
cat celeryd | tr -d '\r' > celeryd
sudo cp celeryd /etc/default/celeryd