Quote:
- En Erlang nous avons des processus concurrents qui tournent indépendemment et qui s'échangent des stimuli.
Et il y a un stimuli particulier dont il faut être bien conscient qui s'appelle la propagation des erreurs. (Erreur pas nécessairement au sens péjoratif du terme).
Quand un processus se crashe, tous les processus du graphe le ressentent, et par défaut décèdent aussi, sauf si dans le lot, il y a un superviseur, dont le rôle est d'intercepter le stimuli et de prendre la décision en conséquence, par exemple relancer le proc
Exemple, une centrale à énergie dans ton jeu se crashe, est détruit par l'ennemi, etc. Automatiquement tous les vaisseaux, peut être des milliers, qui étaient alimentés par elle explosent. A moins qu'un superviseur à centrales d'énergies ne soit là, et que s'il dispose d'une autre centrale, il la connecte aux vaisseaux, mais s'il n'y en a plus, alors crash.
20 lignes de codes à peine pour coder ça. Erlang, c'est fou :)
Et il y a un stimuli particulier dont il faut être bien conscient qui s'appelle la propagation des erreurs. (Erreur pas nécessairement au sens péjoratif du terme).
Quand un processus se crashe, tous les processus du graphe le ressentent, et par défaut décèdent aussi, sauf si dans le lot, il y a un superviseur, dont le rôle est d'intercepter le stimuli et de prendre la décision en conséquence, par exemple relancer le proc
Exemple, une centrale à énergie dans ton jeu se crashe, est détruit par l'ennemi, etc. Automatiquement tous les vaisseaux, peut être des milliers, qui étaient alimentés par elle explosent. A moins qu'un superviseur à centrales d'énergies ne soit là, et que s'il dispose d'une autre centrale, il la connecte aux vaisseaux, mais s'il n'y en a plus, alors crash.
20 lignes de codes à peine pour coder ça. Erlang, c'est fou :)