RabbitMQ - 并行处理耗时的工作

时间:2014-12-01 09:41:43

标签: php mysql linux rabbitmq

让我告诉你我想要完成的事情。

我必须开发一个在Linux上运行的php / mysql系统。我打算用RabbitMQ来实现我需要并行处理的东西。

我有一个每个客户端的工作,可能需要5分钟到70分钟才能完成,具体取决于给定客户端要处理的数据量。客户可以随机发布作业请求。

让我们假设有5个客户在完成各自工作所需的时间内完成工作,如下所示

  • client1工作 - 65分钟
  • client2工作 - 10分钟
  • client3工作 - 5分钟
  • client4工作 - 10分钟
  • client5 job - 20分钟

正常队列有问题,因为client1的工作需要65分钟才能完成,因此client2必须等待75分钟(65 + 10)才能完成需要10分钟的工作。

我知道在RabbitMQ中我可以创建许多工作来处理这项工作,但是根据工作所需的时间和工作在队列中的位置,客户可能需要很多时间来获得他们的工作。工作完成。

所以我希望为每个客户创建动态消费者。每个消费者都会为每个客户单独完成工作。

Rabbitmq有可能吗?如果是,那怎么能实现呢?

0 个答案:

没有答案