Eu e um colega de trabalho encontramos um problema sobre o qual temos várias opiniões.
Atualmente, temos um repositório git no qual mantemos todos os nossos cronjobs. Existem cerca de 20 crons e eles não são realmente relacionados, exceto pelo fato de serem todos pequenos scripts python e essenciais para alguma atividade. Estamos usando um fabric.py
arquivo para implantar e um requirements.txt
arquivo para gerenciar requisitos para todos os scripts.
Nosso problema é basicamente: mantemos todos esses scripts em um repositório git ou devemos separá-los em seus próprios repositórios? Mantendo-os em um repositório, é mais fácil implantá-los em um servidor. Podemos usar apenas um arquivo cron para todos os scripts.
No entanto, isso parece errado, pois os 20 cronjobs não estão relacionados logicamente. Além disso, ao usar um requirements.txt
arquivo para todos os scripts, é difícil descobrir quais são as dependências de um script específico e todas elas precisam usar as mesmas versões de pacotes.
Poderíamos separar todos os scripts em seus próprios repositórios, mas isso cria 20 repositórios diferentes que precisam ser lembrados e tratados. A maioria desses scripts não é muito grande e essa solução parece ser um exagero.
Uma questão relacionada é: usamos um grande arquivo crontab para todos os cronjobs ou um arquivo separado para cada um? Se cada um possui o seu, como a instalação de um crontab evita sobrescrever o outro 19? Isso também parece uma dor, pois haveria então 20 arquivos cron diferentes para acompanhar.
Resumindo, nossa principal questão e problema é mantê-los agrupados em um único repositório ou separá-los em seu próprio repositório com seus próprios requisitos.txt e fabfile.py? Nós sentimos que provavelmente também estamos procurando alguma solução realmente simples. Existe uma maneira mais fácil de lidar com esse problema?