运行 Celery 与 Django 在同一台服务器上?
run Celery on same server as django?
我运行在负载平衡的 Elastic Beanstalk 环境中安装我的 Django 应用程序。我想添加一个 Celery 守护进程来执行以下操作:
- 在后台将文件上传到 S3 并将成功响应发送到我的 Android 应用程序
- 向用户发送短信以通知他们即将到来的 EMI(使用 celery beat)
- 我的应用使用 Google Cloud Vision 的某些功能,需要 10 秒才能 运行,因此我可以 运行 在后台
现在,我想知道在与 Django 相同的服务器上部署 celery 是否是正确的方法 运行ning 使用 Amazon SQS?如果是,我该如何设置?
而如果Elastic Beanstalk 上的多台服务器会因为celery beat 而导致重复任务?
从哪里启动 celery 并不重要:在同一台服务器上还是在不同的服务器上,两种方式都是正确的。
芹菜后端使用什么很重要。如果你在所有 celery 之间使用一些共享的 redis 或数据库,那么任务就不可能重复,但是如果每个 celery 都有自己的后端,它就会混乱和灾难。
我运行在负载平衡的 Elastic Beanstalk 环境中安装我的 Django 应用程序。我想添加一个 Celery 守护进程来执行以下操作:
- 在后台将文件上传到 S3 并将成功响应发送到我的 Android 应用程序
- 向用户发送短信以通知他们即将到来的 EMI(使用 celery beat)
- 我的应用使用 Google Cloud Vision 的某些功能,需要 10 秒才能 运行,因此我可以 运行 在后台
现在,我想知道在与 Django 相同的服务器上部署 celery 是否是正确的方法 运行ning 使用 Amazon SQS?如果是,我该如何设置?
而如果Elastic Beanstalk 上的多台服务器会因为celery beat 而导致重复任务?
从哪里启动 celery 并不重要:在同一台服务器上还是在不同的服务器上,两种方式都是正确的。 芹菜后端使用什么很重要。如果你在所有 celery 之间使用一些共享的 redis 或数据库,那么任务就不可能重复,但是如果每个 celery 都有自己的后端,它就会混乱和灾难。