Django 中带有 Celery 的 AWS SQS
Posted
技术标签:
【中文标题】Django 中带有 Celery 的 AWS SQS【英文标题】:AWS SQS with Celery in Django 【发布时间】:2020-12-26 04:34:45 【问题描述】:我在本地成功地将 Celery 与 Django 和 AWS SQS 连接起来!!现在,我想部署我的 Django 项目。我需要像这样启动我的 Celery worker(我通常在本地终端执行此操作):
celery -A my_project worker -l info
部署后如何执行此操作?谢谢!!
【问题讨论】:
【参考方案1】:更新: 根据 OP,正在使用弹性豆茎,因此修改了响应
在您的代码根文件夹中创建一个名为 .ebextensions
的新目录
在该文件夹中添加一个文件<your file name>.config
并添加以下内容
commands:
create_post_dir:
command: "mkdir -p /opt/elasticbeanstalk/hooks/appdeploy/post"
ignoreErrors: true
files:
"/opt/elasticbeanstalk/hooks/appdeploy/post/start_celery.sh":
mode: "000755"
owner: root
group: root
content: |
#!/usr/bin/env bash
celery -A my_project worker -l info
注意:这可能还有更多,这取决于 celery 需要正确启动的其他配置、环境或安装。但至少这应该让你开始。
【讨论】:
嘿!非常感谢您的回复!!我实际上正在使用 Elastic Beanstalk。我认为这可以工作(***.com/questions/28586837/…),但我真的不明白如何使用它。谢谢!! @NGI 更新了回复,提供了有关 ebs 的更多信息,希望能帮助您入门。 @NGI 我也刚刚发现这篇文章还有***.com/a/41161692/14167216,它提供了可扩展性。但是,一旦您准备好进入该领域,它就会变得更加详细。但我建议使用提供的简单脚本,并在您认为合适的情况下进入更复杂的设置。 会的!非常感谢您的帮助!以上是关于Django 中带有 Celery 的 AWS SQS的主要内容,如果未能解决你的问题,请参考以下文章
如何在 AWS Elastic Beanstalk 上运行 celery worker?
如何在aws elastic bean上安装redis和celery