Менеджер сборки для обработки данных ГИС - PullRequest
2 голосов
/ 02 февраля 2012

Моя организация тратит много времени на обработку данных ГИС. Я создал несколько сценариев Python, которые выполняют различные этапы обработки данных. За исключением первого сценария, все сценарии зависят от другого сценария, который завершается до его запуска. Многие из сценариев занимают 5+ минут (один более часа), поэтому я не хочу повторять уже выполненные шаги. Я хочу, чтобы это работало аналогично Make, чтобы в случае возникновения ошибки в «script3» мне не приходилось повторно выполнять «script1» и «script2». Я могу просто перезапустить "script3".

Является ли SCons подходящим инструментом для этого? Я посмотрел на него, и, похоже, он сосредоточен на компиляции кода, а не на запуске скриптов. Я открыт для других подходящих инструментов.

1 Ответ

2 голосов
/ 04 февраля 2012

Я не уверен, что вам нужна система сборки. Если я что-то упускаю, вам нужна какая-то управляемая автоматизация для выполнения ваших задач обработки и обработки ошибок времени выполнения.

Конечно, «make» и «SCons» могут это делать, но это все равно, что использовать базуки для забивания гвоздя. И вы на самом деле упускаете из виду то, что может быть проще и выгоднее тратить время на обучение в долгосрочной перспективе, а именно сам Python. Python - это полноценный многопарадигмальный язык программирования с множеством функций для надежной обработки исключений и взаимодействия с операционной системой (и он активно используется при системном администрировании на Unix-подобных платформах).

Первым простым шагом было бы заставить главный сценарий вызывать каждый из ваших других сценариев, каждый из которых находится внутри блока try ... except, и обрабатывать исключения в соответствии с вашими требованиями. И вы можете улучшить это по ходу дела путем рефакторинга ваших скриптов в согласованное приложение Python.

Вот несколько ссылок для начала: link1 , link2 .

...