Я оцениваю Batch для проекта и, хотя кажется, что он будет делать то, что я ищу, я не уверен, что то, что я предполагаю, действительно верно.
У меня есть то, чтов основном бегун из очереди.Текущее решение работает, но когда пул узлов сокращается, оно просто слепо убивает машины.Я ищу что-то, что при уменьшении позволит завершить текущие задания и , а затем удалить узлы из пула.Я также хочу превентивно увеличить размер пула, если может произойти всплеск (и не отключать эти узлы).Я могу регулировать размер пула внешне, если это имеет смысл (пока кажется, что это лучший вариант).
Моя текущая идея состоит в том, чтобы иметь один пул с одним заданием и задачей на узел, и эта задача слушает очередьв цикле для сообщений и обрабатывает их.После счетчика итераций и / или ограничения по времени он отключается, удаляя этот узел из пула.Если размер пула не изменился, я хотел бы заменить этот узел на новый.Если бассейн сократился, он должен просто уйти.Если размер пула увеличивается, новые узлы должны запускаться и запускать задачу.
Я не планирую запускать что-то, что постоянно добавляет пулы, или узлы в пул, или задачи в задание, хотя я будувероятно, есть что-то, что периодически устанавливает размер пула в зависимости от длины очереди или что-то подобное.Я бы предпочел , а не сделать что-то вроде «есть 10 вещей в очереди, добавить пул с x узлами, а затем удалить его».
Возможно ли это или мои ожидания неверны?Пока что из чтения документов кажется, что это должно быть выполнимо, и у меня есть простая задача, работающая, но я не уверен ни в механике масштабирования, ни в том, как именно структурировать задачи / задания / пулы.