mark the workers as permanent or transient, so that if they fail they get restarted
restartdefines when a terminated child process must be restarted.
- A
permanentchild process is always restarted.- A
temporarychild process is never restarted (even when the supervisor's restart strategy isrest_for_oneorone_for_alland a sibling's death causes thetemporaryprocess to be terminated).- A
transientchild process is restarted only if it terminates abnormally, that is, with another exit reason thannormal,shutdown, or{shutdown,Term}. https://erlang.org/doc/man/supervisor.html