DGIOT数据同步

数据同步

API Hook配置同步(数据库->缓存)

用户调用API修改parse库配置后,通API Hook同步到ets缓存,例如通道中做如下处理

%% 初始化池子
handle_init(State) ->
    shuwa_parse:subscribe(<<"Device">>, post),
    shuwa_parse:subscribe(<<"Device/*">>, post),
    {ok, State}.

handle_message({sync_parse, Args}, State) ->
    %% do something 
    lager:info("sync_parse ~p", [Args]),
    {ok, State};

Livequery同步(数据库->缓存)

parse库修改同步到ets缓存

parse开启livequery

编辑
vim /data/shuwa_parse_server/script/config.json

修改 appliveQuery 添加需要同步的表

登录获取SessionToken

shuwa_parse_handler:login_by_account(UserName, Password).
{ok,#{<<"sessionToken">> => <<"r:af99fafcfebbcfe04770e74ca2646b11">>}}

shuwa_livequery订阅Device表

 shuwa_livequery:subscribe(<<"r:af99fafcfebbcfe04770e74ca2646b11">>, <<"Device">>, #{}),
handle_info({livequery, #{<<"object">> := Object}}, #task{step = login} = State) ->
    {noreply, do_depploy(Object, State)};

handle_info({livequery, _Other}, State) ->
    {noreply, State};

API Hook同步数据(数据库+缓存 ->用户)

用户查询parse库后返回过程中,DG-IOT自动同步ets缓存中的实时状态数据,解决状态不同步问题,
开源代码下载:https://gitee.com/dgiiot/dgiot
有问反馈给我们 https://gitee.com/dgiiot/dgiot/issues
商务合作vx:dgiotcs
QQ支持一群:346566935

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值