RabbitMq消息间通信

时间:2016-12-19 10:30:23

标签: php symfony rabbitmq producer-consumer concurrentmodification

我正在使用带有AMQP和Symfony2的RabbitMq。

我遇到一个问题,我有多个工作人员,当我从同一类型的队列中收到多条消息时,他们会被消费者接收,他们开始处理同一个实体并覆盖彼此的数据(同一个消费者在那时被两个或更多的工人执行。)

我已经尝试在第一条消息启动时在Entity上设置一个属性,所以当其他一些消息出现并对其进行检查时,如果实体正在使用中,它会重新排队消息,但这仍然无法解决问题因为数据库查询比消耗消息所花费的时间慢。

有没有一种方法可以在彼此之间进行通信,或者在RabbitMq中以某种方式设置标志,以便另一条消息可以检查,以便我避免在同一个实体上执行并行消费者执行?

谢谢

0 个答案:

没有答案