使用celery和amqp从远程服务器检索处理结果?

时间:2015-12-05 21:10:49

标签: json django rabbitmq celery amqp

一点背景知识。我有两个盒子 - 第一个盒子A运行Django,Postgres和Celery在后台运行一些异步任务。方框A连接到运行RabbitMQ代理的Box B和使用Celery发送到队列的任务的数据处理工作者(虽然这可能会在以后移到其他机器上)。

Celery工作得非常好,可以将任务发送到远程代理,我也在使用相同的RabbitMQ代理程序在任务完成后检索处理结果(文本或JSON)。

  app = Celery('tasks', backend='amqp://broker', broker='amqp://username:password@broker/')

我的问题是这是否是良好做法以及是否会扩大规模? JSON /文本结果为20K-2MB。

谢谢

1 个答案:

答案 0 :(得分:0)

没有人能为您解答这个问题 - 这取决于您的应用程序,网络等的具体情况。

如果您对预期的流量/工作量有所了解,那么您可以进行一些背后的计算,以大致了解您需要什么样的要求。

e.g。如果您可以预期有10,000个并发请求,则需要最多2MB * 10,000 = 10GB RAM用于redis,以及网络连接以匹配预期的吞吐量。