а приложение состоит из мастера и N чайлдов, которым из мастера будут таски назначаться (по одной штуке, до выполнения)
Как мне получить определенное количество тасков из очереди, чтобы распределять их между тредами? Вроде, когда вешаешь на очередь слушателя, он перед выдачей следующего таска ожидает ack/nack предыдущего.
Подтверждением тасков тоже будет заниматься мастер.
P.S. Создавать подключение в каждом треде не вариант, поскольку таски выполняются несколько секунд (то есть требуется частый реконнект или удержание подключения), но у меня есть лимит (на стороне брокера) на количество одновременных коннектов. А тредов заведомо больше
я правильно понял что у вас типо несколько задач и по сути они логически обьеденены и вас надо чтоб все было ок выполнить пачку функций в правильной последовательности?
Нет, последовательность выполнения любая. Но есть несколько хостов, каждый из которых параллельно выполняет несколько задач. Допустим, у меня 5 хостов, на каждом из которых запущено 5 потоков выполнения. Если каждый поток будет иметь свой коннект к очереди, то это 25 коннектов. А разрешённое количество одновременных подключений к кролю всего 20. Вот у меня задача чтобы с одного хоста было только одно подключение, через которое каждый хост будет распределять задачи между своими тредами. Я, кажется, нашел вариант решения, но займусь им уже только завтра, сейчас спать
Обсуждают сегодня