emulsion icon indicating copy to clipboard operation
emulsion copied to clipboard

Whole application should stop if any message system throws an error

Open ForNeVeR opened this issue 6 years ago • 0 comments

Currently this code manages the application lifetime: https://github.com/codingteam/emulsion/blob/877144c59a8c8eb3a26b6f69f9b5b6f309ee83ec/Emulsion/Program.fs#L25-L58

As you can see, nothing stops any message system from completely failing (i.e. kill the child async started in startMessageSystem), but the actor system (i.e. the whole app) will still live.

We need to stop the whole application on critical failures (e.g. dead message system).

Take into account that throwing an error from a system.Run is a very unusual event: usually the message system will just restart itself without terminating Run.

ForNeVeR avatar Jul 20 '19 16:07 ForNeVeR