我想使用supervisor在生产中运行celery,但我使用的是python 3而不是python 2.是否有支持python 3的主管?
另外,是否可以使用python 2为我的python 3代码运行cevisor的主管?
答案 0 :(得分:11)
supervisord
只是流程管理器,事实上它本身使用python2并不意味着它不能运行python3应用程序。
只需将您的应用程序放在使用python3创建的virtualenv中。
$ virtualenv -p python3 myvenv
激活该环境并使用芹菜将应用程序安装到其中。在主管你将从virtualenv内部使用芹菜的完整路径。
e.g。我在/home/beezz/myvenv
创建了我的python3 virtualenv,然后celery
将位于/home/beezz/myenv/bin/celery
这是virtualenv's documentation。通常,将应用程序保存在单独的虚拟环境中是一种很好的做法。
如果你不以某种方式与supervisord
绑定,那么circus也是一个不错的流程管理器,它有一些很酷的功能,并且它准备好了python3。