Just as child workers have different restart strategies, supervisors have configurable supervision strategies. The most basic and the default for new Phoenix applications is :one_for_one. When a :one_for_one supervisor detects a crash, it restarts a worker of the same type without any other consideration. Sometimes, processes depend on one another. When that happens, sometimes when a process dies, more than one must restart. In all, you have four major strategies:
If a child terminates, a supervisor restarts only that process.
If a child terminates, a supervisor terminates all children and then restarts all children.
If a child terminates, a supervisor terminates all child processes ...