Un collègue et moi-même avons rencontré un problème sur lequel nous avons plusieurs opinions.
Actuellement, nous avons un référentiel git dans lequel nous gardons tous nos cronjobs. Il y a environ 20 crons et ils ne sont pas vraiment liés, sauf qu'ils sont tous de petits scripts python et essentiels pour certaines activités. Nous utilisons un fabric.py
fichier à déployer et un requirements.txt
fichier pour gérer les exigences pour tous les scripts.
Notre problème est fondamentalement, conservons-nous tous ces scripts dans un référentiel git ou devrions-nous les séparer dans leurs propres référentiels? En les conservant dans un référentiel, il est plus facile de les déployer sur un serveur. Nous pouvons utiliser un seul fichier cron pour tous les scripts.
Cependant, cela ne va pas, car les 20 cronjobs ne sont pas logiquement liés. De plus, lorsque vous utilisez un requirements.txt
fichier pour tous les scripts, il est difficile de comprendre quelles sont les dépendances pour un script particulier et ils doivent tous utiliser les mêmes versions de packages.
Nous pourrions séparer tous les scripts dans leurs propres référentiels, mais cela crée 20 référentiels différents qui doivent être mémorisés et traités. La plupart de ces scripts ne sont pas très volumineux et cette solution semble exagérée.
Une question connexe est la suivante: utilisons-nous un gros fichier crontab pour tous les cronjobs, ou un fichier distinct pour chacun? Si chacun a le sien, comment l'installation d'un crontab évite-t-elle d'écraser l'autre 19? Cela semble également être une douleur, car il y aurait alors 20 fichiers cron différents à suivre.
En bref, notre principale question et problème est de les garder tous étroitement regroupés en un seul référentiel ou de les séparer dans leur propre référentiel avec leurs propres requirements.txt et fabfile.py? Nous pensons que nous recherchons également une solution vraiment simple. Existe-t-il un moyen plus simple de résoudre ce problème?