rogwan
V2EX  ›  问与答

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

  •  
  •   rogwan · Mar 20, 2017 · 2751 views
    This topic created in 3356 days ago, the information mentioned may be changed or developed.

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

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

    有问题可以加我们的群问,这样效率更高,这个群是一群工程师组建的面向初学者的 python Linux 学习群, qq 群号: 278529278 ,非商业性质,拒绝广告,只接收真正想学这方面技术的朋友,交流学习,申请请说明来自 v2ex
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1028 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 22:34 · PVG 06:34 · LAX 15:34 · JFK 18:34
    ♥ Do have faith in what you're doing.