Fix not registering channels in time

This commit is contained in:
周子博 2019-08-08 16:59:17 +08:00
parent 96b341fde5
commit 0d65deb9d3
1 changed files with 1 additions and 1 deletions

View File

@ -293,7 +293,6 @@ websocket_info({timeout, Timer, emit_stats},
proto_state = ProtoState, proto_state = ProtoState,
gc_state = GcState}) -> gc_state = GcState}) ->
ClientId = emqx_protocol:info(client_id, ProtoState), ClientId = emqx_protocol:info(client_id, ProtoState),
ok = emqx_cm:register_channel(ClientId),
ok = emqx_cm:set_chan_stats(ClientId, stats(State)), ok = emqx_cm:set_chan_stats(ClientId, stats(State)),
NState = State#state{stats_timer = undefined}, NState = State#state{stats_timer = undefined},
Limits = erlang:get(force_shutdown_policy), Limits = erlang:get(force_shutdown_policy),
@ -366,6 +365,7 @@ connected(State = #state{proto_state = ProtoState}) ->
connected_at = os:timestamp() connected_at = os:timestamp()
}, },
ClientId = emqx_protocol:info(client_id, ProtoState), ClientId = emqx_protocol:info(client_id, ProtoState),
ok = emqx_cm:register_channel(ClientId),
ok = emqx_cm:set_chan_attrs(ClientId, info(NState)), ok = emqx_cm:set_chan_attrs(ClientId, info(NState)),
%% Ensure keepalive after connected successfully. %% Ensure keepalive after connected successfully.
Interval = emqx_protocol:info(keepalive, ProtoState), Interval = emqx_protocol:info(keepalive, ProtoState),