В компании я работаю имеет много «сложных» пакетные процессы файлов на основе, с последовательностями файлов, такие как:«сделать» как планирования последовательность задач
- взять файл A
- извлечения файла B
- присоединиться поля в файле A в файл B, чтобы сделать файл с
- запустить некоторые эвристики на файл C, чтобы сделать файл D
- загрузки файла на сервер D X
- построить отчет на основе на файлах D и A и отправить их по адресу [email protected]
Для выполнения каждого шага может потребоваться много часов (файлы могут содержать миллиарды строк данных). В то время как вещь склеивается с GNU Makefiles, с разделами, такими как:
fileC: Поданный выполнения анализа $ ^> $ @
В Makefiles полезны для моделирования зависимостей между этапами, а также позволяет все после определенного шага, который нужно повторить (если есть проблема с шагом, или эвристика меняется и так далее).
Использование Makefile всегда кажется мне плохой, поскольку они предназначены для создания программного обеспечения, а не для запуска пакетных процессов. Кроме того, Makefiles не предоставляют какой-либо формы рамки тестирования.
Мой вопрос в том, как вы скопируете большие последовательности больших операций, подобных этим?
Просто потому, что make хорош в создании программного обеспечения, это не значит, что это плохо во всем остальном! –
Повторное тестирование: вы можете использовать ключ -dry-run или -n, чтобы просто показать, какие цели будут построены без их создания, и вы можете настроить «тестовую среду» с использованием --assume-old и - предположим новые варианты. –