Сотрудник и я столкнулись с проблемой, по которой у нас много мнений.
В настоящее время у нас есть git-репозиторий, в котором мы храним все наши cronjobs. Их около 20, и они на самом деле не связаны, за исключением того факта, что они являются небольшими скриптами на python и необходимы для некоторой деятельности. Мы используем fabric.py
файл для развертывания и requirements.txt
файл для управления требованиями для всех сценариев.
Наша проблема в основном, мы храним все эти скрипты в одном репозитории git или мы должны разделить их на их собственные репозитории? Храня их в одном репозитории, проще развернуть их на одном сервере. Мы можем использовать только один файл cron для всех сценариев.
Однако это кажется неправильным, поскольку 20 cronjobs не связаны между собой логически. Кроме того, при использовании одного requirements.txt
файла для всех сценариев трудно выяснить, каковы зависимости для конкретного сценария, и все они должны использовать одни и те же версии пакетов.
Мы могли бы разделить все скрипты на их собственные репозитории, но это создает 20 различных репозиториев, которые необходимо запомнить и обработать. Большинство этих скриптов не очень большие, и это решение кажется излишним.
С этим связан вопрос: используем ли мы один большой файл crontab для всех cronjobs или отдельный файл для каждого? Если у каждого есть свой собственный, как установка одного crontab позволяет избежать перезаписи других 19? Это также кажется болезненным, так как было бы 20 различных файлов cron для отслеживания.
Короче говоря, наш главный вопрос и проблема заключается в том, должны ли мы держать их всех тесно связанными в один репозиторий, или же мы разделяем их в их собственный репозиторий с их собственными Requirements.txt и fabfile.py? Мы чувствуем, что мы также, вероятно, ищем какое-то действительно простое решение. Есть ли более простой способ решить эту проблему?