Aller au contenu

Déterminisme et contrôle

Que devient une exécution si personne ne valide ?

Elle attend, et cette attente ne coûte rien : une exécution suspendue sur une décision humaine est un état persisté en base, pas un processus qui occupe de la mémoire. Elle peut rester en attente des semaines, survivre à un redémarrage du serveur, et reprendre exactement où elle s'était arrêtée.

Mise à jour le

C'est un point où beaucoup d'implémentations maison échouent : la validation humaine y est implémentée par une attente en mémoire, et le premier redémarrage perd tout.

Ici :

  • l'ouverture d'une décision humaine, la demande d'information complémentaire, la réponse et la résolution sont quatre événements distincts du journal ;
  • une exécution peut expirer selon une durée déclarée, et cette expiration est elle aussi un événement — on sait qu'elle a eu lieu, on ne la découvre pas par un silence ;
  • la reprise repart de l'état reconstruit depuis le journal, pas d'une variable perdue.

Conséquence pratique : on peut ouvrir une validation le vendredi soir et la traiter le lundi sans que rien ne se dégrade.

Le sujet en entier : déterminisme