使用 AWS Elastic Beanstalk for python 3.6 在后台运行 celery worker 作为守护进程?
Posted
技术标签:
【中文标题】使用 AWS Elastic Beanstalk for python 3.6 在后台运行 celery worker 作为守护进程?【英文标题】:Run celery worker on background as a daemon with AWS Elastic Beanstalk for python 3.6? 【发布时间】:2018-07-05 09:55:05 【问题描述】:我想使用 python3.6 在后台运行 celery 作为 AWS Elastic Beanstalk 上的守护进程。
我关注了这个问题的答案:How do you run a worker with AWS Elastic Beanstalk?
但是 python3.6 不支持 supervisor。 python 3.6的解决方案是什么。
注意:我正在使用 Rabbitmq 服务器并在我的项目中设置 celery 作为远程服务器。
【问题讨论】:
【参考方案1】:supervisor 的主分支支持 Python 3。你可以使用它。它在开发中可能存在一些错误。
要安装它,运行
$ pip install git+https://github.com/Supervisor/supervisor.git
确保在您的系统中安装了 git 以使上述命令正常工作。
正如我 mentioned here,你也可以使用 mozilla circus,它是 celery 的替代品。
【讨论】:
收集 Supervisor 正在下载 supervisor-3.3.3.tar.gz (418kB) 100% |████████████████████████ ████████| 419kB 193kB/s 命令 python setup.py egg_info 的完整输出:Supervisor 需要 Python 2.4 或更高版本,但不适用于任何版本的 Python 3。您使用的是 3.6.3 版本(默认,2017 年 10 月 6 日,08:44:35 ) [GCC 5.4.0 20160609]。请使用支持的版本进行安装。 ---------------------------------------- 命令“python setup.py egg_info”失败/tmp/pip-build-qexq8qt4/Supervisor/中的错误代码1 @chiragmaliwal 能分享一下安装的命令吗?你可以试试pip install git+https://github.com/Supervisor/supervisor.git
吗?
本地安装成功。但是当我将代码推送到 aws Eb 时出现错误:错误 [Errno 2] No such file or directory: 'git' while execution command git clone -q github.com/Supervisor/supervisor.git /tmp/pip-4vnbl4ko-build Cannot find command '混帐'
我都试过了:-e git+git://github.com/Supervisor/supervisor.git#egg=supervisor, -e git+github.com/Supervisor/supervisor.git#egg=supervisor
面临同样的问题:***.com/questions/48334158/…【参考方案2】:
经过一天的研究,我终于得到了我的问题的答案:
刚刚在 Eb 上安装了 git。
packages:
yum:
git: []
在requirements.txt
上添加主管:
git+https://github.com/Supervisor/supervisor.git
【讨论】:
Eb 上默认不安装 git。以上是关于使用 AWS Elastic Beanstalk for python 3.6 在后台运行 celery worker 作为守护进程?的主要内容,如果未能解决你的问题,请参考以下文章
AWS Elastic Beanstalk 上禁止使用 Django 403
使用 AWS CodeBuild 和 EB CLI 部署到 AWS Elastic Beanstalk