Browse Source

configure mq for kvs

doxtop 11 years ago
parent
commit
78a1fdcfd3
3 changed files with 10 additions and 7 deletions
  1. 1 0
      include/kvs.hrl
  2. 2 0
      src/kvs.erl
  3. 7 7
      src/kvs_feed.erl

+ 1 - 0
include/kvs.hrl

@@ -1,6 +1,7 @@
 -ifndef(KVS_HRL).
 -ifndef(KVS_HRL).
 -define(KVS_HRL, true).
 -define(KVS_HRL, true).
 
 
+-define(MQ, (kvs:config(kvs,mq,kvs))).
 
 
 -define(CONTAINER, id, top=undefined, entries_count=0).
 -define(CONTAINER, id, top=undefined, entries_count=0).
 -define(ITERATOR(Container, Guard), id, container=Container, feed_id, prev, next, feeds=[], guard=Guard, etc).
 -define(ITERATOR(Container, Guard), id, container=Container, feed_id, prev, next, feeds=[], guard=Guard, etc).

+ 2 - 0
src/kvs.erl

@@ -256,6 +256,8 @@ load(Key) ->
     {ok, Bin} = file:read_file(Key),
     {ok, Bin} = file:read_file(Key),
     binary_to_term(Bin).
     binary_to_term(Bin).
 
 
+notify(EventPath, Data) -> skip.
+
 config(Key) -> config(kvs, Key, "").
 config(Key) -> config(kvs, Key, "").
 config(App,Key) -> config(App,Key, "").
 config(App,Key) -> config(App,Key, "").
 config(App, Key, Default) -> case application:get_env(App,Key) of
 config(App, Key, Default) -> case application:get_env(App,Key) of

+ 7 - 7
src/kvs_feed.erl

@@ -69,7 +69,7 @@ handle_notice(  [kvs_feed,_,entry,delete],
                     false -> ok;
                     false -> ok;
                     _ -> kvs:info(?MODULE,"[kvs_feed] => Remove entry ~p from feed ~p", [Id, Fid]),
                     _ -> kvs:info(?MODULE,"[kvs_feed] => Remove entry ~p from feed ~p", [Id, Fid]),
                          kvs:remove(entry, Id),
                          kvs:remove(entry, Id),
-                         msg:notify([kvs_feed, entry, Id, deleted], [Entry]) end,
+                         ?MQ:notify([kvs_feed, entry, Id, deleted], [Entry]) end,
 
 
                 {noreply,State};
                 {noreply,State};
 
 
@@ -79,13 +79,13 @@ handle_notice(  [kvs_feed,Owner,delete],
 
 
                 kvs:info(?MODULE,"[kvs_feed] delete all entries ~p ~p", [Entry#entry.entry_id, Owner]),
                 kvs:info(?MODULE,"[kvs_feed] delete all entries ~p ~p", [Entry#entry.entry_id, Owner]),
 
 
-                [ msg:notify([kvs_feed,To,entry,delete],[Ed])
+                [ ?MQ:notify([kvs_feed,To,entry,delete],[Ed])
                     || #entry{to={_, To}}=Ed <- kvs:index(entry, entry_id, Eid) ],
                     || #entry{to={_, To}}=Ed <- kvs:index(entry, entry_id, Eid) ],
 
 
                 Fid = element(1,Entry),
                 Fid = element(1,Entry),
                 kvs:remove(entry,{Eid, Fid}),
                 kvs:remove(entry,{Eid, Fid}),
                 Removed = Entry#entry{id={Eid,Fid},feed_id=Fid},
                 Removed = Entry#entry{id={Eid,Fid},feed_id=Fid},
-                msg:notify([kvs_feed,entry,{Eid, Fid},deleted], [Removed]),
+                ?MQ:notify([kvs_feed,entry,{Eid, Fid},deleted], [Removed]),
 
 
                 {noreply, State};
                 {noreply, State};
 
 
@@ -93,20 +93,20 @@ handle_notice(_Route, _Message, State) -> {noreply, State}.
 
 
 notify([Module|_]=Path, Message, State) ->
 notify([Module|_]=Path, Message, State) ->
     case kvs:config(feeds) of
     case kvs:config(feeds) of
-        enabled -> msg:notify(Path,Message);
+        enabled -> ?MQ:notify(Path,Message);
         _ -> Module:handle_notice(Path,Message,State) end.
         _ -> Module:handle_notice(Path,Message,State) end.
 
 
 add_comment(Comment=#comment{}) ->
 add_comment(Comment=#comment{}) ->
     kvs:info(?MODULE,"[kvs_feed] add comment: ~p to feed ~p", [Comment#comment.id, Comment#comment.feed_id]),
     kvs:info(?MODULE,"[kvs_feed] add comment: ~p to feed ~p", [Comment#comment.id, Comment#comment.feed_id]),
     C = Comment#comment{feeds=[comments]},
     C = Comment#comment{feeds=[comments]},
     Added = case kvs:add(C) of {error, E} -> {error, E}; {ok, Cm} -> Cm end,
     Added = case kvs:add(C) of {error, E} -> {error, E}; {ok, Cm} -> Cm end,
-    msg:notify([kvs_feed, comment, C#comment.id, added], [Added]).
+    ?MQ:notify([kvs_feed, comment, C#comment.id, added], [Added]).
 
 
 add_entry({Eid,Fid},Entry=#entry{}) ->
 add_entry({Eid,Fid},Entry=#entry{}) ->
     kvs:info(?MODULE,"[kvs_feed] add entry: ~p to feed ~p.", [Entry#entry.id, Entry#entry.feed_id]),
     kvs:info(?MODULE,"[kvs_feed] add entry: ~p to feed ~p.", [Entry#entry.id, Entry#entry.feed_id]),
     E = Entry#entry{id = {Eid, Fid}, entry_id = Eid, feeds=[comments]},
     E = Entry#entry{id = {Eid, Fid}, entry_id = Eid, feeds=[comments]},
     Added = case kvs:add(E) of {error, Err}-> {error,Err}; {ok, En} -> En end,
     Added = case kvs:add(E) of {error, Err}-> {error,Err}; {ok, En} -> En end,
-    msg:notify([kvs_feed, entry, E#entry.id, added], [Added]).
+    ?MQ:notify([kvs_feed, entry, E#entry.id, added], [Added]).
 
 
 update_entry(Key={Eid,Fid},Entry) ->
 update_entry(Key={Eid,Fid},Entry) ->
     case kvs:get(entry,Key) of
     case kvs:get(entry,Key) of
@@ -119,4 +119,4 @@ update_entry(Key={Eid,Fid},Entry) ->
                       etc   = Entry#entry.etc,
                       etc   = Entry#entry.etc,
                       type  = Entry#entry.type},
                       type  = Entry#entry.type},
             kvs:put(Updated),
             kvs:put(Updated),
-            msg:notify([kvs_feed,entry,Key,updated], [Updated]) end.
+            ?MQ:notify([kvs_feed,entry,Key,updated], [Updated]) end.