Supervisor 在系统是 python2.6 的环境下管理 python3 的 celery 服务,总找不到 celery 服务,是什么原因?

2017-03-20 22:24:46 +08:00
 rogwan

系统 ubuntu 是 python2.6 环境,项目是 python3 的 venv 环境,用 supervisor 管理 venv 项目中的 celery 服务。

项目大致目录如下:
/usr/project/www
-venv 文件夹
-app 文件夹
-config.py
-manage.py
-celery.py

supervisor 的配置文件放在 /etc/supervisord.conf

然后编辑这个 supervisord.conf ,增加以下内容:

[program:celery]
command=celery worker -A tasks --loglevel=info
directory=/usr/project/www
stdout_logfile=/var/log/celery.log
autostart=true
autorestart=true
redirect_stderr=true
stopsignal=QUIT

启动 supervisor 服务: supervisord 后:

root@xetfoiZ25fdZ:/# supervisorctl  
celery FATAL  can't find command 'celery'  
supervisor> start celery  
celery: ERROR (no such file)
2300 次点击
所在节点    问与答
3 条回复
jingniao
2017-03-20 22:42:43 +08:00
你想想你进到那个目录,执行那个命令能找到不
这不是 supervisor 的问题,你先想想怎么在不执行 source activate 的情况下启动 celery
rogwan
2017-03-21 08:18:19 +08:00
@jingniao 我不用 supervisor ,手工启动 celery ,是在激活 venv 环境中,执行 celery worker -A tasks 命令,可以成功启动。

遇到的问题是,现在这个 supervisor 是装在根系统 python2.6 环境中,要去启动 venv 环境 Python3 中的 celery 。我知道应该是配置文件没写对(因为手动,可以启动 celery 服务)
zsz
2017-03-21 08:32:50 +08:00
用全路径
/env/python /celery worker -A ...启动

有问题可以加我们的群问,这样效率更高,这个群是一群工程师组建的面向初学者的 python Linux 学习群, qq 群号: 278529278 ,非商业性质,拒绝广告,只接收真正想学这方面技术的朋友,交流学习,申请请说明来自 v2ex

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/348966

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX