Cra*_*igH 13 tornado celery flower
我用redis后端运行芹菜.我想在ceos 6.2上运行芹菜花作为守护进程.
我知道flower是一个Tornado应用程序,所以我应该使用一个进程来运行龙卷风应用程序作为deamon.
通常开始开花我使用这个命令:
芹菜花--broker = redis:// localhost
我在下面的链接阅读,我需要创建一个python脚本这样: http://www.charleshooper.net/blog/python-starting-tornado-apps-at-boot-using-upstart/ (Startflower.py)
import tornado.ioloop
import tornado.web
import tornado.httpserver
if __name__ == "__main__":
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(port)
tornado.ioloop.IOLoop.instance().start()
Run Code Online (Sandbox Code Playgroud)
但是,我不确定将什么放在'application'变量中.我试过'芹菜花 - 经纪人= redis:// localhost'和'芹菜花',但都没有用
我需要做些什么来让它作为守护进程工作?
jeo*_*gen 11
您可以保留它作为命令行程序并在supervisord守护程序下运行它.这是python世界中的常见解决方案(虽然supervisord可以使用任何命令,而不仅仅是python),并且我一直使用它.
Supervisord让程序认为它仍在终端中运行.有很多例子如何使用supervisord,但我可以在这里找到一个用于python代理服务器的例子,向下滚动到"将代理服务器安装为服务".
bil*_*hhh 11
最好使用systemd将flower作为守护进程运行.Supervisord与已成为新的最佳实践的 Python3不兼容.而且,systemd是大多数现代Linux发行版的标准进程管理器.
我在Ubuntu 16.04中使用systemd作为花的守护进程.虽然我相信其他发行版的设置不会有太大的不同.
例如,创建一个名为systemd的配置文件flower.service.就我而言,它位于/etc/systemd/system文件夹中.它应该包含:
[Unit] Description=Flower Celery Service [Service] User=your_user Group=www-data WorkingDirectory=/var/www/project-working-directory ExecStart=/home/user/miniconda3/envs/virtualenv/bin/flower --port=5555 --loglevel=info -A yourproject Restart=on-failure Type=simple [Install] WantedBy=multi-user.target
基本上,您可以设置所有可用选项,如在终端中.顺便说一下,你应该在虚拟环境下使用花.确保您的用户拥有工作目录的权限.
重新加载systemd守护程序
sudo systemctl daemon-reload
开始一个花守护进程
sudo systemctl start flower
就这样!这个很好的教程帮助我完成了配置过程.
| 归档时间: |
|
| 查看次数: |
6135 次 |
| 最近记录: |