Перечитал кучу всего про разные оркестраторы/автоматизаторы и т.п. Паппеты, ансиблы, номады и прочие кубернетисы. Уже каша в голове... Не могу понять, какой инструмент лучше подойдет для задачи шедулинга и мониторинга постоянно повторяющихся тасков.
Требования такие:
1. Возможность генерировать очередь из тасков(джобов) динамически на основе данных в БД.
Т.е. чтобы можно было задать какой-то SQL фильтр, который достанет нужные айдишники/параметры из базы. Потом сформировать по общему шаблону командную строку того что будем запускать, подставляя данные из результата SQL-запроса. Т.е. чтоб был какой-то конструктор-шаблонизатор. Далее, досталось 100 записей - значит у нас 100 джобов (тасков) и надо их всех запустить по очереди на конкретном серваке. Вернее, можно и одновременно запускать, но только чтоб настраивался числовой лимит одновременно работающих джобов на конкретном хосте. Отработали все джобы - заново лезем в базу, и SQL-запросом отфильтровываем актуальные записи, и всё по новой. В идеале даже можно не ждать отработки всех джобов чтобы актуализировать текущую очередь, а постоянно обновлять список актуальных задач на лету из базы. Причем в основном это будут всегда одни и те же джобы, которые надо выполнять по кругу, и лишь иногда некоторые будут удалятся или добавляться новые. Т.е. простоя в стиле "висим и ждем задач" не планируется.
2. Возможность настраивать количество параллельно работающих джобов (например - не больше 5, остальные ждут в очереди).
3. Контейнеры не нужны, главное чтоб запускало просто через SSH, либо через какую-то свою ответную серверную часть на хосте.
4. Возможность мониторинга длительно работающих джобов (месяцами) и их перезапуск при падении.
5. Желательно веб/гуй интерфейс на "командном центре" для настройки и наблюдения за всеми процессами.
Что для этого лучше всего подойдет из оркестраторов/автоматизаторов/CI?