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':
|
||||
-spec force_ds() -> boolean().
|
||||
force_ds() ->
|
||||
emqx_config:get([session_persistence, force_ds]).
|
||||
emqx_config:get([session_persistence, force_persistence]).
|
||||
|
||||
storage_backend(#{
|
||||
builtin := #{enable := true, n_shards := NShards, replication_factor := ReplicationFactor}
|
||||
|
|
|
@ -349,11 +349,11 @@ handle_timeout(
|
|||
Session = #{id := Id, inflight := Inflight0, receive_maximum := 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 =
|
||||
case Publishes of
|
||||
[] ->
|
||||
100;
|
||||
IdlePollInterval;
|
||||
[_ | _] ->
|
||||
0
|
||||
end,
|
||||
|
|
|
@ -1772,6 +1772,23 @@ fields("session_persistence") ->
|
|||
<<"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") ->
|
||||
|
|
Loading…
Reference in New Issue