[erlang-questions] patterns or best practices to shut applications down?
Sat Dec 23 15:41:49 CET 2017
On 12/23, Xavier Noria wrote:
>But there's something that bugs me and prevents me from imagining complete
>and round solutions, which is shutting down. When shutting down (think
>autoescaling, deploys, etc.). I have a live system that needs to stop
>Are there patterns or best practises about how to design this aspect of the
Good news! You already have this covered with OTP.
When shutting down a supervision tree, the supervisor will send down a
`shutdown` exit signal to each of its children in order. A child
supervisor will trap exit on this, and forward it to its own children
If your worker has nothing special to do, just let it die. If it needs
some special cleanup, trap exit in the worker and `terminate` will be
So the supervision structure you have that tells how the program boots
also tells how it shuts down. You do have to be careful about the
handling of timeouts though (or brutal_kill will catch you up).
More information about the erlang-questions