Current section
Files
Jump to
Current section
Files
lib/horde/registry.ex
defmodule OTPLabs.Horde.Registry do
@moduledoc ~S"""
This module is used for registering nodes dynamically.
"""
use Horde.Registry
require Logger
@doc false
def start_link(_) do
Logger.log(:info, "Starting #{__MODULE__}")
Horde.Registry.start_link(__MODULE__, [keys: :unique], name: __MODULE__)
end
@impl true
def init(init_arg) do
Logger.log(:info, "#{__MODULE__} init #{inspect(init_arg)}")
[members: members()]
|> Keyword.merge(init_arg)
|> Horde.Registry.init()
end
defp members() do
Enum.map([Node.self() | Node.list()], &{__MODULE__, &1})
end
end