mmag

ハマったことメモなど

one_for_allとrest_for_allはtemporaryなプロセスの死で発火しない

再起動戦略one_for_allのSupervisorがいたとして、そこにtemporaryなWorkerとpermanentなWorkerがぶら下がっているとします。

permanentがWorkerがクラッシュすると、temporaryなWorkerが落とされて、両方再起動します。one_for_allなので。

しかしながら、temporaryなWorkerがクラッシュしても、その後何も起きません。temporaryなので。

もし再起動してほしいときは、例えば両Workerをリンクさせて、temporaryのWorkerが落ちたときにpermanentのWorkerに:EXITメッセージが飛ぶようにして、受け取ったpermanentなWorkerはstopするようにしておく、などちょっと工夫が必要。

という学びでした。