我想用
django-celery在我的开发机器本地工作,我想做的一切.我经营着Django,djcelery,cellery和经纪人(Amazon SQS).它发送任务并且正常工作.
我可以把这一切都设置得像我在当地所做的那样(即一切都在一个地方
机器),但是当我想将任务分配给另一个时会发生什么
机器/共享任务等?这是当前机器的副本(使用Django,djcelery和celery)以及与同一SQS的所有连接吗?这是如何运作的?如果他们都与同一经纪人联系,他们只是“知道”吗?或者它不像这样工作?
是否可以像在开发中一样开始使用一台机器上的所有东西(我会在生产中将celery变成菊花)?
最佳答案 Amazon SQS是一个简单的队列服务,作业等待运行,然后在完成后从队列中删除.芹菜只是读取这个队列.
芹菜可以水平和垂直扩展.您需要芹菜来更快地处理更多工作吗?为您的机器提供更多资源,增加工作人员数量,垂直扩展,或启动更小的水平扩展机器.无论哪种方式,您的芹菜工人都在SQS上消耗相同的队列.它取决于您的芹菜工作对您的其他基础设施将如何受到影响的影响.如果他们正在写入数据库,那么您拥有的工作人员越多,您的数据库负载就越高,因此您也需要考虑扩展.
可以从一台机器方法的“全部”开始.随着对您的应用程序的需求不断增长,您可以开始考虑将芹菜工作者转移到更多的计算机上,或者让您的所有服务器在一台服
这有帮助吗? 🙂