我有一个带有两个 RabbitMQ 工作人员的 Python Django 项目,使用 pika lib,它接收作业以对请求中指定的某个 Django 对象执行操作。
问题是,我不希望工作人员 A 和 B 同时对同一个 Django 对象 x 执行操作,因为这可能会导致问题。哪个工人先去并不重要,但如果 A 正在处理 x 并且 B 收到一份工作来处理 x,我希望这项工作等到 A 完成。
所以问题归结为能够知道其他工人在做什么,并且能够暂停工作直到某个时间。请注意,在我的实际项目中,我有超过 2 名工人,这必须适用于,我在我的示例中选择了两个,以便更容易剖析。
感谢您的帮助,马蒂亚斯