让我告诉你我想要完成的事情。
我必须开发一个在Linux上运行的php / mysql系统。我打算用RabbitMQ来实现我需要并行处理的东西。
我有一个每个客户端的工作,可能需要5分钟到70分钟才能完成,具体取决于给定客户端要处理的数据量。客户可以随机发布作业请求。
让我们假设有5个客户在完成各自工作所需的时间内完成工作,如下所示
正常队列有问题,因为client1的工作需要65分钟才能完成,因此client2必须等待75分钟(65 + 10)才能完成需要10分钟的工作。
我知道在RabbitMQ中我可以创建许多工作来处理这项工作,但是根据工作所需的时间和工作在队列中的位置,客户可能需要很多时间来获得他们的工作。工作完成。
所以我希望为每个客户创建动态消费者。每个消费者都会为每个客户单独完成工作。
Rabbitmq有可能吗?如果是,那怎么能实现呢?