RabbitMQ:具有更改优先级的优先级队列

RabbitMQ:具有更改优先级的优先级队列,rabbitmq,priority-queue,Rabbitmq,Priority Queue,我想实现一个优先级工作队列,在这个队列中,一组消息一旦进入队列,其优先级就可以改变。由于它是一个处理时间可变的工作队列,因此不使用循环算法分配消息,而是在资源空闲时从队列中提取消息(使用每消费者限制) 我提出了两个实施方案: 使用RabbitMQ中的优先级队列,当请求更改优先级时,从队列中读取具有此优先级的消息,并以不同优先级重新发送它们。(考虑到O(n)的复杂性,我不确定这是一个好方法。) 为每组消息使用多个具有不同名称的队列,并使用单独的队列将当前优先级列表(队列名称的有序列表)传达给工作人

我想实现一个优先级工作队列,在这个队列中,一组消息一旦进入队列,其优先级就可以改变。由于它是一个处理时间可变的工作队列,因此不使用循环算法分配消息,而是在资源空闲时从队列中提取消息(使用每消费者限制)

我提出了两个实施方案:

  • 使用RabbitMQ中的优先级队列,当请求更改优先级时,从队列中读取具有此优先级的消息,并以不同优先级重新发送它们。(考虑到O(n)的复杂性,我不确定这是一个好方法。)
  • 为每组消息使用多个具有不同名称的队列,并使用单独的队列将当前优先级列表(队列名称的有序列表)传达给工作人员。(使用这种方法,我不知道如何使优先级列表“持久化”,以便新加入的员工知道当前优先级列表是什么。)
  • 您将如何实施它?RabbitMQ对于这个用例是可行的选项吗