Supervision Strategies
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:
- :one_for_one
-
If a child terminates, a supervisor restarts only that process.
- :one_for_all
-
If a child terminates, a supervisor terminates all children and then restarts all children.
- :rest_for_one
-
If a child terminates, a supervisor terminates all child processes ...
Get Programming Phoenix now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.