start_child 使用 DynamicSupervisor 返回错误 undef

问题描述 投票:0回答:1
{:error,
 {:undef,
  [
    {MobSchema, :new, [%{}], []},
    {Rotb.Mobs.Mob, :start_link, 1, [file: ~c"lib/rotb/mobs/mob.ex", line: 8]},
    {DynamicSupervisor, :start_child, 3,
     [file: ~c"lib/dynamic_supervisor.ex", line: 795]},
    {DynamicSupervisor, :handle_start_child, 2,
     [file: ~c"lib/dynamic_supervisor.ex", line: 781]},
    {:gen_server, :try_handle_call, 4, [file: ~c"gen_server.erl", line: 1113]},
    {:gen_server, :handle_msg, 6, [file: ~c"gen_server.erl", line: 1142]},
    {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 241]}
  ]}}

使用属性映射调用以下函数

%{}

  def start_mob(opts) do
    child_spec = Rotb.Mobs.Mob.child_spec(opts) 

    DynamicSupervisor.start_child(__MODULE__, child_spec) |> IO.inspect()
  end

我什至不确定要分享哪些其他代码。子级是一个 GenServer,具有所有常见的 GenServer 回调并通过带有注册表的元组。我写过类似的代码并且有效。

erlang elixir
1个回答
0
投票

我没有在

start_link
中为模块添加别名。

© www.soinside.com 2019 - 2024. All rights reserved.