wus*_*r92 11 python django celery celerybeat amazon-elastic-beanstalk
我试图找出构建Django应用程序的最佳方法,该应用程序使用Celery在自动缩放AWS ElasticBeanstalk环境中处理异步和计划任务.
到目前为止,我只使用了Celery + Celerybeat的单个实例Elastic Beanstalk环境,这非常好用.但是,我希望在我的环境中运行多个实例,因为每个实例都会崩溃,并且在实例重新启动之前需要花费很多时间,但是我无法将当前的体系结构扩展到多个实例,因为Celerybeat应该在所有实例中只运行一次,否则Celerybeat安排的每个任务将被多次提交(对于环境中的每个EC2实例一次).
我已经阅读了多个解决方案,但是所有这些解决方案似乎都存在一些问题,这些问题并不适用于我:
如何在分布式Elastic Beanstalk环境中将Celery与计划任务一起使用而不进行任务复制?例如,如何确保在Elastic Beanstalk环境中始终在所有实例中运行一个实例(即使Celerybeat的当前实例崩溃)?
有没有其他方法可以实现这一目标?在Django中使用Elastic Beanstalk的Worker Tier环境的最佳方法是什么?
wus*_*r92 -4
如果有人遇到类似的问题:我最终切换到了 django 的不同队列/任务框架。它被称为 django-q,在不到一个小时的时间内就完成了设置并开始运行。它具有我需要的所有功能,并且比 Celery 更好的 Django 集成(因为 djcelery 不再活跃)。
Django-q 超级容易使用,而且比庞大的 Celery 框架更轻。我只能推荐它!
| 归档时间: |
|
| 查看次数: |
675 次 |
| 最近记录: |