[英]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.