我正在使用带有AMQP和Symfony2的RabbitMq。
我遇到一个问题,我有多个工作人员,当我从同一类型的队列中收到多条消息时,他们会被消费者接收,他们开始处理同一个实体并覆盖彼此的数据(同一个消费者在那时被两个或更多的工人执行。)
我已经尝试在第一条消息启动时在Entity上设置一个属性,所以当其他一些消息出现并对其进行检查时,如果实体正在使用中,它会重新排队消息,但这仍然无法解决问题因为数据库查询比消耗消息所花费的时间慢。
有没有一种方法可以在彼此之间进行通信,或者在RabbitMq中以某种方式设置标志,以便另一条消息可以检查,以便我避免在同一个实体上执行并行消费者执行?
谢谢