Я хочу определить очередь таким образом, чтобы все сообщения, поступающие в нее, направлялись другому рабочему и в то же время совместно использовались одним из рабочих, я думаю, диаграмма может объяснить лучше
W(i) - Worker, который получает отдельные сообщения
W(sp) - специальный работник, который получает все сообщения
В - Очередь
'---------------------------------------Q-------------------------
|--------------------------- |---------------------------- |
|--------------------------- |---------------------------- |
W1,W(sp)-------------W2,W(sp)-----------W3,W(sp)
Как вы можете видеть, W1, W2, W3, W4 — это разные рабочие процессы, каждый из которых получает разные сообщения, как обычный рабочий процесс. Каждый получит одно задание из очереди
Однако каждое из сообщений должно использоваться как обмен W(sp). Как я могу этого достичь. Есть ли какой-то параметр, который я могу установить, чтобы W (sp) всегда мог получать все события из очереди
Будет здорово, если вы сможете помочь
ИЗМЕНИТЬ 1
Мне было немного сложно понять вопрос, вот еще одна версия
Я хочу делиться заданиями из очереди в циклическом режиме, чтобы задание давалось потребителю только один раз, так как я хочу выполнять параллельную обработку задания, и в то же время мне нужен специальный потребитель, который также будет получать все задания из очереди .
Eg:
счетчик - C1,C2,C3,C4
специальный потребитель - Csp
очередь - Q
Каждое задание в Q должно транслироваться одному из C1, C2, C3, C4 и совместно использоваться с Csp. Таким образом, задание из Q распределяется между Csp и одним из C(i). Благодаря этому мы сможем параллельно обрабатывать задания в C1, C2, C3, C4 и т. д. и в то же время проверять каждое из заданий в Q с помощью моего потребительского Csp.