A man named chun

  • Application.start的时候没有捕获返回值

    又犯不严谨的错误,写下了代码:

      Application.start riakc
    

    后来才发现,riakc需要riak_pb的启动,riak_pb需要protobuffs启动,其实只要检查一下Application.start的返回值就能发现了。
    改为:

      :ok = Application.start riakc
    
  • supervisor 提示 invalid mfa

    传给pooler的参数里面有个启动worker的参数,格式为{module(), start_func(), args}。我传{:xxx_worker, :start_link, [host: "127.0.0.1]},程序报错invalid mfa,试错法怎么都弄不对,读pooler的代码也看不出个所以然来,因为它是直接丢给supervisor来启动worker的。
    到最后还是彪哥指出,丢给supervisor的参数得是list,因为supervisor在调用start_fun的时候会添加(用++符号)自己定义的一些参数。然后,把代码改成{:xxx_worker, :start_link, [[host: "127.0.0.1]]}就好了。

你可能感兴趣的:(A man named chun)