繁体   English   中英

如何在其他模块中初始化 ejabberd 模块

[英]How to initialize the ejabberd module inside other module

我需要从 ejabberd 连接 AWS 弹性搜索。所以,在按照模块中给出的说明开始集成后,我找到了要连接的以下模块,我得到了一些错误

调用此 function:elasticsearch:index(<<"my_index">>, <<"_doc">>, <<"id">>, #{<<"my_key">> => <<"my_value">> })

链接: https://github.com/Qualia91/elasticsearch-erlang

{{noproc,{gen_server,call,[elasticsearch_workers,{checkout,#Ref<0.623895423.2148532225.144069>,true}, 5000]}},

我将此补丁应用于 ejabberd git,使用“make relive”以交互方式启动它,并在控制台中尝试了以下操作:

elasticsearch:index(<<"my_index">>, <<"_doc">>, <<"id">>, #{<<"my_key">> => <<"my_value">>}).

{error,{failed_connect,[{to_address,{"localhost",9200}},
                        {inet,[inet],econnrefused}]}}

修补:

diff --git a/rebar.config b/rebar.config
index 746f62fb7..bb4829a07 100644
--- a/rebar.config
+++ b/rebar.config
@@ -20,6 +20,7 @@
 
 {deps, [{base64url, ".*", {git, "https://github.com/dvv/base64url", {tag, "1.0.1"}}},
         {cache_tab, ".*", {git, "https://github.com/processone/cache_tab", {tag, "1.0.30"}}},
+        {elasticsearch, ".*", {git, "https://github.com/Qualia91/elasticsearch-erlang", {branch, "master"}}},
         {eimp, ".*", {git, "https://github.com/processone/eimp", {tag, "1.0.22"}}},
         {if_var_true, tools,
          {ejabberd_po, ".*", {git, "https://github.com/processone/ejabberd-po", {branch, "main"}}}},
diff --git a/rel/relive.config b/rel/relive.config
index 7e3901fd4..301342ca6 100644
--- a/rel/relive.config
+++ b/rel/relive.config
@@ -1,3 +1,16 @@
 [{mnesia, [{dir, "_build/relive/database"}]},
+ {elasticsearch, [
+    {pools, [
+        {elasticsearch_workers, [
+            {size,         10},
+            {max_overflow, 20}
+        ], [
+            {worker_impl,  elasticsearch_worker},
+            {url,          "localhost"},
+            {port,         9200},
+            {http_options, []}
+        ]}
+    ]}
+ ]},
  {ejabberd, [{config, "_build/relive/conf/ejabberd.yml"},
              {log_path, "_build/relive/logs/ejabberd.log"}]}].
diff --git a/src/ejabberd.app.src.script b/src/ejabberd.app.src.script
index 4c8745146..1f83289ef 100644
--- a/src/ejabberd.app.src.script
+++ b/src/ejabberd.app.src.script
@@ -19,6 +19,7 @@ Vars = case file:consult(filename:join([filename:dirname(SCRIPT), "..", "vars.co
     [compiler, inets, mnesia, os_mon,
      cache_tab,
      eimp,
+     elasticsearch,
      fast_tls,
      fast_xml,
      fast_yaml,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM