所以我注意到resque-lock是关于防止作业排队。但是,如果我希望我的队列被完全填满,但我想在特定情况被锁定时重新排队怎么办。澄清一下:因为我的队列由一堆主机组成(例如 google.com、yahoo.com、yahoo.com 和 apple.com),我不希望两个相同的主机在同时!我怎么做?我得到了resque-lock,但我认为这对解决这个问题没有帮助。
例子:
队列:
google.com
yahoo.com
apple.com
apple.com
stackoverflow.com
工人:
- 2 名工人正在寻找工作并找到:google.com 和 yahoo.com(好的)
- 2 名工人正在寻找新工作并找到:apple.com 和 apple.com
- 不行,将第二个 apple.com 作业重新放入队列并继续
关于如何通过resque获得这种行为的任何想法?我的示例描述了 2 个工作人员的情况,但主要思想是,具有相同主机的两个作业不应该能够同时运行,无论工作人员的数量如何。不允许运行的作业应重新放入队列中。