Bonjour,
Nos projets internes deviennent de plus en plus
dépendants les uns des autres : certains récupèrent des
données, d'autres compilent ces données, d'autres les
analysent, d'autres les exportent, etc...
Du coup certains process sont bloquants
pour que d'autres puissent démarrer (bien entendu uniquement
si ce dernier n'a pas rencontré de problème).
J'aimerai savoir comment vous vous gérez ce genre de problématique
de scheduler
gérant les dépendances entre plusieurs process
sur potentiellement plusieurs machines ?
- vous gérez simplement via cron
- vous testez si une ressource/notif/info
quelconque soit ok et vous bouclez en sleepant
tant que ce n'est pas dispo (avec
des gardes fous pour éviter que ça sleep à l'infini)
- vous avez développé votre propre solution ?
- autre ?
En cherchant un peu, voici des solutions qui ont l'air
pas mal (avec des jolies interfaces pour suivre ce qui est
lancé/
fail/
done) - les
avez vous testé?
-
http://airbnb.github.io/chronos/
(une sorte de
cron un peu plus poussé
pour gérer de la dépendance avec une GUI)
-
https://github.com/spotify/luigi
(la
sollution home
made
de
spotify)
J'ai pu lire aussi que certains utilisaient Jenkins
pour faire ça, mais ça me semble très lourd.
On se dirige vers une solution en interne mais j'aimerai bien
avoir votre retour et échanger sur comment vous faîtes de
votre côté :)