首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >github回购中的异常监控程序错误

github回购中的异常监控程序错误
EN

Stack Overflow用户
提问于 2017-02-23 04:52:26
回答 1查看 397关注 0票数 0

我是全新的灵丹妙药,当一个构建决定不构建时,我很难找到问题。

所以我试图在这个存储库的基础上使用这个教程

我遇到的问题之一是,我不断地遇到这样的问题:

代码语言:javascript
复制
** (Mix) Could not start application reph: Reph.start(:normal, []) returned an error: shutdown: failed to start child: Reph.ReactIO
    ** (EXIT) an exception was raised:
        ** (ArgumentError) expected :name option to be one of:

  * nil
  * atom
  * {:global, term}
  * {:via, module, term}

Got: {:local, Reph.ReactIO}

            (elixir) lib/supervisor.ex:332: Supervisor.start_link/3
            (stdlib) supervisor.erl:365: :supervisor.do_start_child/2
            (stdlib) supervisor.erl:348: :supervisor.start_children/3
            (stdlib) supervisor.erl:314: :supervisor.init_children/2
            (stdlib) gen_server.erl:328: :gen_server.init_it/6
            (stdlib) proc_lib.erl:247: :proc_lib.init_p_do_apply/3

所以我对灵丹妙药代码库做了一些调查,看看这个论点是什么。在我看来,StdJsonIo仍然应该使用

代码语言:javascript
复制
{atom, opts} when is_atom(atom) ->
    :gen.start(:gen_server, link, {:local, atom}, module, args, opts)

当我传递原子时,主管程序中的代码片段:local,后面跟着Module。下面是它将要挂起的代码片段。

代码语言:javascript
复制
def start_link(opts \\ []) do
    Supervisor.start_link(__MODULE__, :ok, name: {:local, __MODULE__})
end

如果我删除了:local,它似乎有效,但是我有两个问题,一个是代码似乎与另一个问题完全错误,另一个是。现在,我有一个依赖项,我不能只使用deps.get并运行它,我必须单独添加它,这可能是可以的。但我真的很想知道为什么这会破坏应用程序。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-23 07:44:49

正如您在源代码中所看到的,Supervisor.start_link/3期望选项值是描述性错误消息中的选项值之一。

也就是说,name选项不能有一个值{:local, __MODULE__}。您可以使用name: __MODULE__,这在很多情况下是足够的,或者您可以在那里传递任何atom,而不是__MODULE__ (__MODULE__被编译到当前编译模块名)。

您所指的“药物代码库”是一个方法do_start,它显然不是您所调用的方法。无论您是否希望调用do_start,都可以使用GenServer.start/3启动GenServer,这是为了在监控树之外启动服务器。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42407310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档