A one-for-one supervisor replaces only the child process that terminates. Sibling children continue running, limiting a failure’s impact to one supervised worker. section 8.3.2 section 9.1.1
Configure the strategy with Supervisor.start_link/2. The supervisor starts children in specification order, waits for each to finish starting, and then monitors the next. A replacement is a new process with a different PID and no shared state. section 8.3.2 section 9.1.1
Separating a database and cache
A system supervisor can start Todo.Database and Todo.Cache with strategy: :one_for_one. Killing the database server restarts database-related processes without restarting the cache; killing the cache similarly leaves the database running. section 9.1.1
