Назад | Перейти на главную страницу

Программа для управления рабочим процессом на разных машинах?

У меня есть собственный Perl-скрипт, который очень нуждается в рефакторинге. Чтобы не изобретать колесо заново, я ищу, существует ли его эквивалент с открытым исходным кодом, и у меня возникают проблемы с его поиском.

Скрипт запускается как демон на всех хостах и ​​позволяет мне делать такие вещи, как:

  1. Запустите ProcessA на Host1.
  2. На Host2 после успешного завершения ProcessA на Host1 запустите ProcessB.
  3. На Host1 после успешного завершения ProcessB на Host2 запустите ProcessC.

Это ни в коем случае не ракетостроение, но я не могу найти что-либо, что воспроизводило бы эту функциональность. RunDeck подходит близко, но я не вижу, где это может управлять рабочими процессами через разные хосты.

Есть ли у кого-нибудь здесь что-нибудь, что мне следует изучить?

Это можно сделать с помощью RunDeck, используя задание для каждого отдельного шага хоста и задание более высокого уровня для координации этих заданий. Хотя у Rundeck нет точно такого уровня координации в пределах рабочий процесс, он позволяет объединить несколько заданий в цепочку, чтобы получить тот же эффект

Например:

  1. Создайте задание для каждого действия «запустить процессX на hostY» (JobA-C). Эти задания будут использовать функцию Node Dispatch с правильным фильтром для применения только к hostY.

  2. создайте задание верхнего уровня с рабочим процессом, который использует ссылки на задания для выполнения заданий A – C по порядку, а не с помощью диспетчеризации узлов.

Выполнение задания верхнего уровня будет проходить по этапам и запускать другие задания по порядку, ожидая завершения каждого из них, прежде чем переходить к следующему этапу.

Вы можете настроить задание верхнего уровня также на «продолжение»: то есть, даже если один шаг завершится неудачей, продолжить выполнение всех последующих шагов.

Вы также можете настроить задания нижнего уровня для параллельной работы с несколькими узлами, при этом задание верхнего уровня по-прежнему будет выполнять только один шаг за раз.

Планировщик Skybot может делать то, что вы хотите - не на 100% уверенный, что он может обрабатывать биты зависимости между хостами, но он довольно надежен, и это первое, что приходит на ум.