我有ubuntu14.04.4lts在virtualbox下运行。在这个盒子里我有这样的配置:
主管3.0b2
virtualenvironment下的Python3.4
芹菜3.1.23
花0.9.1
主管下的花配置是:
[program:flower]
command=/home/vagrant/.virtualenvs/meridian/bin/python /vagrant/meridian/meridian/manage.py celery flower --loglevel=INFO -conf=/vagrant/meridian/meridian/meridian/flowerconfig.py
directory=/vagrant/meridian/meridian
user=vagrant
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisor/flower-stdout.log
stderr_logfile=/var/log/supervisor/flower-stderr.log
priority=997
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=5
stderr_logfile_maxbytes=10MB
stderr_logfile_backups=5
在flowerconfig.py是一个空文件。所以所有的值都是默认值。主机是localhost,端口是5555。在
当我从命令行运行flower时:
vagrant@localhost> flower
它运行正常,我在浏览器中看到任务结果,访问一个地址本地主机:5555。在
netstat显示监听的端口:
^{pr2}$vagrant@localhost> netstat -l | grep 5555
所以,没关系。在
当我以这种方式在主管下运行flowe时:
vagrant@localhost> sudo supervisorctl start flower
它应该开始了。Netstat显示监听端口5555。但是来自浏览器的查询只是挂起。在
为什么花在主管的手下不回答?在
我找到了解决办法。 问题是我没有在虚拟环境下运行flower。我添加了一个shell文件“start_花.sh“:
它开始正常工作了。在
然后我用这种方式重写了flower的主管配置:
^{pr2}$现在一切都好了。在
注意:我想提醒您注意我用“exec”运行flower-in-shell文件:
我在那里用这个是因为当我使用这个结构时:
我遇到了一个问题-shell文件进程因以下原因终止:
但无论如何,花的过程是有效的!在
所以如果你要面对这样的问题,一定要用exec。 对于此类情况,这是一个很好的附加信息:
http://veithen.github.io/2014/11/16/sigterm-propagation.html
相关问题 更多 >
编程相关推荐