Django芹菜在生产中

时间:2013-03-21 22:29:37

标签: django celery django-celery

我有{I}在本地开发机器上工作的所有事情。我运行Django,django-celerydjcelery和代理(Amazon SQS)。它发送任务并且正常工作。

我可以把这一切都设置得像我在当地所做的那样(即一对一 机器),但是当我想将任务分配给另一个时会发生什么 机器/共享任务等?这是当前机器的副本(使用Django,cellerydjcelery)以及与同一SQS的所有连接吗?这是如何运作的?如果他们都与同一经纪人联系,他们只是“知道”吗?或者它不能像这样工作?

可以像在开发中那样开始使用一台机器上的所有东西(我会在制作中将celery变成da)吗?

1 个答案:

答案 0 :(得分:2)

Amazon SQS是一个简单的排队服务,作业等待运行,然后在完成后从队列中删除。芹菜只是读取这个队列。

芹菜可以水平和垂直扩展。您需要芹菜来更快地处理更多工作吗?为您的机器提供更多资源,增加工作人员数量,垂直扩展,或启动更小的水平扩展机器。无论哪种方式,您的芹菜工人都在SQS上消耗相同的队列。它取决于您的芹菜工作对您的其他基础设施将如何受到影响的影响。如果他们正在写入数据库,那么您拥有的工作人员越多,您的数据库负载就越高,因此您也需要考虑扩展。

可以从一台机器方法的“全部”开始。随着对您的应用程序的需求增长,您可以开始考虑将芹菜工作者转移到更多的计算机上,或者让您的所有服务器在一台服务器上获得更多资源。

这有帮助吗? :)