Add configuration for sys_heartbeat

This commit is contained in:
terry-xiaoyu 2019-07-18 18:40:49 +08:00 committed by Shawn
parent 4603ea17ef
commit 86333802b9
3 changed files with 20 additions and 1 deletions

View File

@ -1878,6 +1878,14 @@ plugins.expand_plugins_dir = {{ platform_plugins_dir }}/
## Default: 1m, 1 minute
broker.sys_interval = 1m
## System heartbeat interval of publishing following heart beat message:
## - "$SYS/brokers/<node>/uptime"
## - "$SYS/brokers/<node>/datetime"
##
## Value: Duration
## Default: 30s
broker.sys_heartbeat = 30s
## Enable global session registry.
##
## Value: on | off

View File

@ -1807,6 +1807,11 @@ end}.
{default, "1m"}
]}.
{mapping, "broker.sys_heartbeat", "emqx.broker_sys_heartbeat", [
{datatype, {duration, ms}},
{default, "30s"}
]}.
{mapping, "broker.enable_session_registry", "emqx.enable_session_registry", [
{default, on},
{datatype, flag}

View File

@ -28,6 +28,7 @@
, datetime/0
, sysdescr/0
, sys_interval/0
, sys_heatbeat_interval/0
]).
-export([info/0]).
@ -92,6 +93,11 @@ datetime() ->
sys_interval() ->
application:get_env(?APP, broker_sys_interval, 60000).
%% @doc Get sys heatbeat interval
-spec(sys_heatbeat_interval() -> pos_integer()).
sys_heatbeat_interval() ->
application:get_env(?APP, sys_heartbeat, 30000).
%% @doc Get sys info
-spec(info() -> list(tuple())).
info() ->
@ -111,7 +117,7 @@ init([]) ->
{ok, heartbeat(tick(State))}.
heartbeat(State) ->
State#state{heartbeat = start_timer(timer:seconds(1), heartbeat)}.
State#state{heartbeat = start_timer(sys_heatbeat_interval(), heartbeat)}.
tick(State) ->
State#state{ticker = start_timer(sys_interval(), tick)}.