Nous ne créons actuellement qu'un seul événement par ID et état de travail (voir ici ), mais il est possible pour un travail d'entrer deux fois dans un état particulier.
Par exemple, si un hôte est jugé défectueux par le planificateur, toutes les tâches de cet hôte sont marquées comme étant hors service, mais si l'hôte revient, les tâches peuvent toujours être en cours d'exécution, de sorte que les tâches reviennent à l'état en cours d'exécution. Les déploiements suivants impliquant ces travaux échoueront alors car les événements d'arrêt ne seront pas émis (l'événement d'arrêt existe déjà à partir du moment où l'hôte est devenu défectueux).
Quelques options:
@titanous @josephglanville @jvatic pensées?
lorsque le planificateur marque les travaux comme étant arrêtés, arrêtez-les simplement s'ils semblent à nouveau en cours d'exécution car les travaux de remplacement ont déjà été démarrés.
Je pense que c'est la bonne réponse.
Sinon, un état différent peut être ajouté pour les travaux qui ont disparu parce que l'hôte a disparu.
@titanous Je ne pense pas que l'ajout d'un nouvel état pour les travaux sur des hôtes déconnectés aidera vraiment.
Lorsque le planificateur se reconnecte à un hôte dont les travaux ont été précédemment marqués comme arrêtés (ou mis dans un autre état comme unknown
), il doit encore décider s'il faut simplement arrêter les travaux qui sont encore en cours d'exécution ou essayer et marquez-les comme en cours d'exécution (conduisant à la duplication d'événements up
dans le contrôleur).
Je pense que nous devrions simplement arrêter les emplois immédiatement après la reconnexion.
Flynn n'est pas entretenu et notre infrastructure sera fermée le 1er juin 2021. Voir le README pour plus de détails.
Commentaire le plus utile
Sinon, un état différent peut être ajouté pour les travaux qui ont disparu parce que l'hôte a disparu.