RabbitMQ允许使用者在完成之前的任务之前接收更多任务

RabbitMQ允许使用者在完成之前的任务之前接收更多任务,rabbitmq,amqp,producer-consumer,Rabbitmq,Amqp,Producer Consumer,根据我对RabbitMQ/AMQP的理解,我看到了一个不幸的权衡 通常的工作流程是: 生产者生产 队列传递给消费者 消费者确认并且在确认之前不会收到更多任务 队列认为消息处理已完成 所以问题在于两件事:一是说“我可以接受更多的工作”,二是说“我完成了这项任务。”问题是!我的客户机可以并行处理50个任务,每个任务大约需要30秒。但是,如果一个任务悬而未决或失败,它需要重新交付。如何做到这一点?使用 channel.basicQos(prefetchCount); 其中预回迁计数=我可以在不确认的

根据我对RabbitMQ/AMQP的理解,我看到了一个不幸的权衡

通常的工作流程是:

  • 生产者生产
  • 队列传递给消费者
  • 消费者确认并且在确认之前不会收到更多任务
  • 队列认为消息处理已完成
  • 所以问题在于两件事:一是说“我可以接受更多的工作”,二是说“我完成了这项任务。”问题是!我的客户机可以并行处理50个任务,每个任务大约需要30秒。但是,如果一个任务悬而未决或失败,它需要重新交付。如何做到这一点?

    使用

    channel.basicQos(prefetchCount);
    
    其中预回迁计数=我可以在不确认的情况下处理的任务数

    有记录的,例如