【问题标题】:Using celery and amqp to retrieve processing results from a remote server?使用 celery 和 amqp 从远程服务器检索处理结果?
【发布时间】:2016-03-10 17:17:07
【问题描述】:

一点背景。我有两个盒子——第一个盒子 A 运行 Django、Postgres 和 Celery 以在后台异步运行一些任务。盒子 A 连接到盒子 B,运行 RabbitMQ 代理和数据处理工作者使用 Celery 发送到队列中的任务(尽管稍后可能会转移到其他机器上)。

Celery 可以很好地向远程代理发送任务,并且我也在使用相同的 RabbitMQ 代理在任务完成后检索处理结果(文本或 JSON)。

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

我的问题是这是否是一种好的做法以及它是否会扩展? JSON/文本结果将为 20K-2MB。

谢谢

【问题讨论】:

    标签: json django rabbitmq celery amqp


    【解决方案1】:

    没有人可以为您回答这个问题 - 这取决于您的应用程序、网络等的具体情况。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-20
      • 1970-01-01
      • 1970-01-01
      • 2016-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-27
      相关资源
      最近更新 更多