我正在寻找一种在Elastic Beanstalk环境中运行Celery的直接方法。这是否存在,或者我是否需要使用SQS?
我试过在.config文件中放一行,但没有得到好的结果。这是我的.config文件:
container_commands:
01_syncdb:
command: "django-admin.py syncdb --noinput"
leader_only: true
02_collectstatic:
command: "./manage.py collectstatic --noinput"
03_migrate:
command: "./manage.py migrate --noinput"
04_start_celery:
command: "./manage.py celery worker &"
当我ssh到EC2服务器并运行ps -ef | grep celery
时,它表明Celery没有运行。
感谢您的帮助。谢谢
Celery没有显示,因为容器命令是在部署期间重新启动Web服务器之前运行的。基本上,机器重新启动后,你的芹菜工人会被解雇。
我建议先使用部署后挂钩。
请参阅http://junkheap.net/blog/2013/05/20/elastic-beanstalk-post-deployment-scripts/以及如何使用AWS Elastic Beanstalk运行工作人员?