diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-05-21 23:21:13 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-05-21 23:21:13 +0300 |
commit | d88e4d495ffc2ae950f77e440aa7c5d06c864309 (patch) | |
tree | 6e032ad05ee9f78e164bb73219cc9d2d8b628f96 /src/prosody2ejabberd.erl | |
parent | Improve mod_metrics (diff) |
Don't store messages via a single process
Diffstat (limited to 'src/prosody2ejabberd.erl')
-rw-r--r-- | src/prosody2ejabberd.erl | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/prosody2ejabberd.erl b/src/prosody2ejabberd.erl index 072da0908..312a177be 100644 --- a/src/prosody2ejabberd.erl +++ b/src/prosody2ejabberd.erl @@ -185,15 +185,16 @@ convert_data(_Host, "config", _User, [Data]) -> convert_data(Host, "offline", User, [Data]) -> LUser = jid:nodeprep(User), LServer = jid:nameprep(Host), - Msgs = lists:flatmap( - fun({_, RawXML}) -> - case deserialize(RawXML) of - [El] -> el_to_offline_msg(LUser, LServer, El); - _ -> [] - end - end, Data), - mod_offline:store_offline_msg( - LServer, {LUser, LServer}, Msgs, length(Msgs), infinity); + lists:foreach( + fun({_, RawXML}) -> + case deserialize(RawXML) of + [El] -> + Msg = el_to_offline_msg(LUser, LServer, El), + ok = mod_offline:store_offline_msg(Msg); + _ -> + ok + end + end, Data); convert_data(Host, "privacy", User, [Data]) -> LUser = jid:nodeprep(User), LServer = jid:nameprep(Host), |