在 Django 中使用 Celery 的 AWS SQS

AWS SQS with Celery in Django

我成功地将 Celery 与 Django 和 AWS SQS 本地 连接起来!!现在,我想 部署 我的 Django 项目。我需要像这样 启动我的 Celery worker(我通常在本地终端中这样做):

celery -A my_project worker -l info

部署后如何执行此操作?谢谢!!

更新: 根据 OP,正在使用弹性 beantalk,因此修改了响应

在您的代码根文件夹中创建一个名为 .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

注意:根据芹菜正常启动所需的其他配置、环境或安装,可能还有更多内容。但至少这应该可以帮助您入门。