J'ai la fonction init de mon GenServer. Le superviseur s'en occupe, et doit le redémarrer à la sortie.
def init(_opts) do
username = get_conf(:username)
password = get_conf(:password)
host = get_conf(:host)
port = get_conf(:port)
vhost = String.replace(get_conf(:vhost), "/", "%2f")
{:ok, conn} = Connection.open("amqp://#{username}:#{password}@#{host}:#{port}/#{vhost}")
{:ok, chan} = Channel.open(conn)
state = %State{
exchange: get_conf(:exchange),
channel: chan,
routing_key: get_conf(:routing_key)
}
{:ok, state}
end
Lorsque je redémarre RabbitMQ avec sudo service rabbitmq-server restart
une nouvelle connexion n'est pas établie.
Dans la barre de débogage, je vois ce qui suit : Lorsque je clique sur la connexion pid <0.417.0>, j'obtiens un message indiquant que le processus n'existe plus. Il semble que le processus soit mort et que le parent
AmqpTransport
Je ne sais rien de tout cela. Comment puis-je faire AmqpTransport
mourir avec son enfant Connection
?