V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
rogwan
V2EX  ›  问与答

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

  •  
  •   rogwan · 2017-03-20 22:24:46 +08:00 · 2354 次点击
    这是一个创建于 2804 天前的主题,其中的信息可能已经有所发展或是发生改变。

    系统 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)
    
    3 条回复    2017-03-21 08:32:50 +08:00
    jingniao
        1
    jingniao  
       2017-03-20 22:42:43 +08:00
    你想想你进到那个目录,执行那个命令能找到不
    这不是 supervisor 的问题,你先想想怎么在不执行 source activate 的情况下启动 celery
    rogwan
        2
    rogwan  
    OP
       2017-03-21 08:18:19 +08:00 via Android
    @jingniao 我不用 supervisor ,手工启动 celery ,是在激活 venv 环境中,执行 celery worker -A tasks 命令,可以成功启动。

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

    有问题可以加我们的群问,这样效率更高,这个群是一群工程师组建的面向初学者的 python Linux 学习群, qq 群号: 278529278 ,非商业性质,拒绝广告,只接收真正想学这方面技术的朋友,交流学习,申请请说明来自 v2ex
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1496 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:12 · PVG 01:12 · LAX 09:12 · JFK 12:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.