V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
SlipStupig
V2EX  ›  Python

supervisor 报错被折腾了一整天了

  •  
  •   SlipStupig · 2016-12-07 23:45:07 +08:00 · 9826 次点击
    这是一个创建于 2937 天前的主题,其中的信息可能已经有所发展或是发生改变。

    supervisord 老是报错: app: ERROR (no such process),不知道是怎么回事,我的 app 配置文件如下:

     
    [program:app]
    command=/bin/env pypy --jit vec=1 ~/myhome/app.py -g min -p 1024
    directory=/myhome/user/app/
    autostart=true
    redirect_stderr=false
    user=ubuntu           
    
    
    第 1 条附言  ·  2016-12-08 10:54:48 +08:00

    总结一下如下几个原因可能导致失败:

    • 进程已经被启动或者是daemon(我后台挂了screen)
    • 配置文件加载错误,默认使用的配置文件[include]是被注释掉的(ubuntu 14.04)
    • 命令执行路径不是完整路径或不正确
    12 条回复    2016-12-08 10:37:25 +08:00
    ooxxcc
        1
    ooxxcc  
       2016-12-08 00:14:27 +08:00
    把~换成绝对地址试试?

    去掉 redirect_stderr=false ,然后看一下 supervisorctl tail app 和 supervisorctl tail app stderr 试试?
    sylecn
        2
    sylecn  
       2016-12-08 00:41:12 +08:00 via Android
    debian 系我记得 env 的路径是 /use/bin/env 吧。
    而且既然是服务的配置文件,直接写 pypy 的完整路径比较好。
    sylecn
        3
    sylecn  
       2016-12-08 00:42:22 +08:00 via Android
    手机打字错掉了 坑爹的自动拼写纠正。
    /usr/bin/env
    SlipStupig
        4
    SlipStupig  
    OP
       2016-12-08 01:51:36 +08:00
    @ooxxcc
    @sylecn 我试一试
    SlipStupig
        5
    SlipStupig  
    OP
       2016-12-08 02:00:38 +08:00
    @sylecn 还是一样,那个 supervisor 我配置文件放在"/etc/supervisor/conf.d/"里面不只有有没影响
    xiuc001
        6
    xiuc001  
       2016-12-08 05:39:13 +08:00 via iPhone   ❤️ 1
    supervisor 管控的是自己的子进程,如果你是手动起的进程,他控制不了,你得把手动启动的进程杀了,再用 supervisor 启动你的进程。林外 supervisor 执行的命令不能是守护进程;就这两点注意就行。
    ldehai
        7
    ldehai  
       2016-12-08 08:34:06 +08:00
    @SlipStupig 我是把配置文件放在项目目录底下的

    ![]( )
    sujin190
        8
    sujin190  
       2016-12-08 09:25:35 +08:00
    问个话题无关的, --jit vec=1 这个参数的作用是? pypy 似乎有很多参数,一直不知道有什么用
    bwangel
        9
    bwangel  
       2016-12-08 09:29:32 +08:00   ❤️ 2
    你先手动运行一下 /bin/env pypy --jit vec=1 ~/myhome/app.py -g min -p 1024 这条命令,看一下是不是在后台运行的。我以前遇到过这种问题是因为程序在后台运行的, supervisor 就会认为它没有启动,不断地重启它。
    ooxxcc
        10
    ooxxcc  
       2016-12-08 09:55:59 +08:00
    还有试一下 sudo -u ubuntu "/bin/env pypy --jit vec=1 ~/myhome/app.py -g min -p 1024"

    把~展开成绝对路径
    SlipStupig
        11
    SlipStupig  
    OP
       2016-12-08 10:33:39 +08:00
    @sujin190 使用寄存器优化, X86 使用 SSE MMX 寄存器
    SlipStupig
        12
    SlipStupig  
    OP
       2016-12-08 10:37:25 +08:00
    @bwangel 感谢,终于成功了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   922 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:37 · PVG 06:37 · LAX 14:37 · JFK 17:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.