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]]}就好了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容