feat(ds): Make session poll interval configurable
This commit is contained in:
parent
82e74d0201
commit
1ced8786fd
|
@ -58,7 +58,7 @@ storage_backend() ->
|
||||||
%% `emqx_persistent_session_ds':
|
%% `emqx_persistent_session_ds':
|
||||||
-spec force_ds() -> boolean().
|
-spec force_ds() -> boolean().
|
||||||
force_ds() ->
|
force_ds() ->
|
||||||
emqx_config:get([session_persistence, force_ds]).
|
emqx_config:get([session_persistence, force_persistence]).
|
||||||
|
|
||||||
storage_backend(#{
|
storage_backend(#{
|
||||||
builtin := #{enable := true, n_shards := NShards, replication_factor := ReplicationFactor}
|
builtin := #{enable := true, n_shards := NShards, replication_factor := ReplicationFactor}
|
||||||
|
|
|
@ -349,11 +349,11 @@ handle_timeout(
|
||||||
Session = #{id := Id, inflight := Inflight0, receive_maximum := ReceiveMaximum}
|
Session = #{id := Id, inflight := Inflight0, receive_maximum := ReceiveMaximum}
|
||||||
) ->
|
) ->
|
||||||
{Publishes, Inflight} = emqx_persistent_message_ds_replayer:poll(Id, Inflight0, ReceiveMaximum),
|
{Publishes, Inflight} = emqx_persistent_message_ds_replayer:poll(Id, Inflight0, ReceiveMaximum),
|
||||||
%% TODO: make these values configurable:
|
IdlePollInterval = emqx_config:get([session_persistence, idle_poll_interval]),
|
||||||
Timeout =
|
Timeout =
|
||||||
case Publishes of
|
case Publishes of
|
||||||
[] ->
|
[] ->
|
||||||
100;
|
IdlePollInterval;
|
||||||
[_ | _] ->
|
[_ | _] ->
|
||||||
0
|
0
|
||||||
end,
|
end,
|
||||||
|
|
|
@ -1772,6 +1772,23 @@ fields("session_persistence") ->
|
||||||
<<"builtin">> => #{}
|
<<"builtin">> => #{}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
)},
|
||||||
|
{"idle_poll_interval",
|
||||||
|
sc(
|
||||||
|
duration(),
|
||||||
|
#{
|
||||||
|
default => 100,
|
||||||
|
desc => ?DESC(session_ds_idle_poll_interval)
|
||||||
|
}
|
||||||
|
)},
|
||||||
|
{"force_persistence",
|
||||||
|
sc(
|
||||||
|
boolean(),
|
||||||
|
#{
|
||||||
|
default => false,
|
||||||
|
%% Only for testing, shall remain hidden
|
||||||
|
importance => ?IMPORTANCE_HIDDEN
|
||||||
|
}
|
||||||
)}
|
)}
|
||||||
];
|
];
|
||||||
fields("session_storage_backend") ->
|
fields("session_storage_backend") ->
|
||||||
|
|
Loading…
Reference in New Issue