Мне нужна структура, которая позволит мне делать следующее:
Разрешить динамически определять задачи (я прочитаю внешний файл конфигурации и создам задачи/работы; задача= порождать внешнюю команду, например)
Предоставлять способ указания зависимостей от существующих задач (например, задача A будет выполняться после завершения задачи B)
Возможность запускать задачи параллельно в нескольких процессах, если порядок выполнения позволяет это (т.е. нет взаимозависимости задач)
Разрешить задаче зависеть от какого-то внешнего события (не знаю точно, как это описать, но некоторые задачи заканчиваются и через некоторое время дадут результаты, как работа в фоновом режиме; I необходимо указать некоторые задачи, которые будут зависеть от этого фонового задания. завершено событие)
Поддержка отмены/отката: если одна задача не удалась, попробуйте отменить все, что было выполнено ранее (я не ожидаю, что это будет реализовано в какой-либо среде, но я думаю, стоит спросить..)
Итак, очевидно, что это более или менее похоже на систему сборки, но я не могу найти что-то, что позволило бы мне динамически создавать задачи, большинство вещей, которые мне кажутся, уже определены в " Makefile".
Есть идеи?