Je suis tout nouveau sur elixir/phoenix. Je travaille sur une application créée précédemment qui a plusieurs dépôts et aujourd'hui je vois un exemple qui me fait me demander ce que signifie cette configuration.
Je pense que je ne sais pas comment chercher, c'est la raison pour laquelle je ne trouve pas la bonne réponse dans la documentation.
d'abord l'application sur laquelle je travaille a quelque chose comme
defmodule RestApi do
use Application
def start(_type, _args) do
import Supervisor.Spec, warn: false
children = [
supervisor(RestApi.Endpoint, []),
supervisor(RestApi.Repo, []),]),
supervisor(RestApi.OtherRepo, []),]),
]
opts = [strategy: :one_for_one, name: RestApi.Supervisor]
Supervisor.start_link(children, opts)
end
def config_change(changed, _new, removed) do
RestApi.Endpoint.config_change(changed, removed)
:ok
end
end
ils utilisent la fonction Superviseur.Spec.superviseur/3 pour tout démarrer/gérer
J'ai ensuite trouvé un exemple
defmodule RestApi do
use Application
def start(_type, _args) do
import Supervisor.Spec, warn: false
children = [
supervisor(RestApi.Endpoint, []),
worker(RestApi.Repo, []),
]
opts = [strategy: :one_for_one, name: RestApi.Supervisor]
Supervisor.start_link(children, opts)
end
def config_change(changed, _new, removed) do
RestApi.Endpoint.config_change(changed, removed)
:ok
end
end
dans le exemple ils utilisent Superviseur.Spec.worker/3 pour démarrer/gérer le repo