Service 消息已停止Ejabberd

Service 消息已停止Ejabberd,service,messaging,ejabberd,Service,Messaging,Ejabberd,我正在使用mod_推送模块发送推送通知 启动此模块后,我的消息服务已停止,当我停止此模块时,它将重新开始工作。我定制了mod_push模块,并使用了user_send_数据包钩子,这样我就可以为服务器上接收到的每条消息发送推送通知 日志如下所示,显示mod_mam中的崩溃 [error] <0.16149.0>@ejabberd_hooks:run_fold1:371 {function_clause,[{mod_mam,should_archive,[ok],[{file,"src

我正在使用mod_推送模块发送推送通知

启动此模块后,我的消息服务已停止,当我停止此模块时,它将重新开始工作。我定制了mod_push模块,并使用了user_send_数据包钩子,这样我就可以为服务器上接收到的每条消息发送推送通知

日志如下所示,显示mod_mam中的崩溃

[error] <0.16149.0>@ejabberd_hooks:run_fold1:371 {function_clause,[{mod_mam,should_archive,[ok],[{file,"src/mod_mam.erl"},{line,3‌​08}]},{mod_mam,user_send_packet,4,[{file,"src/mod_mam.erl"},{}
[error]@ejabberd_hooks:run_fold1:371{function_子句,[{mod_mam,should_archive,[ok],{file,“src/mod_mam.erl”},{line,3‌​08}]},{mod_-mam,user_-send_-packet,4,[{文件,“src/mod_-mam.erl”},{}

您的
mod_-push
需要更新以支持最新版本的ejabberd API。您提供的日志显示消息丢失,因为
mod_-push
可能是通过从ejabberd API钩子传递错误返回而导致存档模块崩溃。

您应该查看日志文件。我希望您会看到cr在mod_mam[error]@ejabberd_hooks中给出崩溃的原因如下:run_fold1:371{function_子句,[{mod_mam,should_archive,[ok],{file,“src/mod_mam.erl”},{line,308},{mod_-mam,user_-send_-packet,4,[{文件,“src/mod_-mam.erl”},{}因此,mod_push模块似乎需要更新以符合ejabberd API。它的一个钩子返回了一个不被存档模块接受的错误值。我没有收到消息,但状态数据包正在传输。是的,我是这么说的:mod_push通过钩子向mod_mam发送坏数据,使其崩溃。这意味着message已丢失。状态未存档,因此请不要通过相同的路径。因此,我确认需要更新mod_push以支持ejabberd最新API。我做了一些更改,消息传输已开始,但对于我的push,我收到以下消息:[错误]@ejabberd_hooks:run_fold1:371{unde,[{mod push,create_message,[{xmlel,,[{,},{嗯,这仅仅意味着你调用的函数不存在,至少你正在使用的签名不存在。谢谢Mickeel,我在哪里可以获得ejabberd sql schema的详细信息?Anks Mickeel,它对我很有帮助,对我很有用。你能帮我知道我在哪里可以获得sql schema的详细信息吗,我是指所有的表和字段吗?特别是我需要用户花名册。SQL架构包含在包和源代码中: