feat(ds): add `ensure_shard/2` shortcut
And use it in `emqx_persistent_session_ds:init()` backend initialization function.
This commit is contained in:
parent
ac56de9fc5
commit
daf4e86da1
|
@ -39,10 +39,9 @@
|
|||
|
||||
init() ->
|
||||
?WHEN_ENABLED(
|
||||
begin
|
||||
_ = emqx_ds_storage_layer_sup:start_shard(?DS_SHARD),
|
||||
ok
|
||||
end
|
||||
ok = emqx_ds:ensure_shard(?DS_SHARD, #{
|
||||
dir => filename:join([emqx:data_dir(), ds, messages, ?DS_SHARD])
|
||||
})
|
||||
).
|
||||
|
||||
%%
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
-module(emqx_ds).
|
||||
|
||||
%% API:
|
||||
-export([ensure_shard/2]).
|
||||
%% Messages:
|
||||
-export([message_store/2, message_store/1, message_stats/0]).
|
||||
%% Iterator:
|
||||
|
@ -79,6 +80,18 @@
|
|||
%% API funcions
|
||||
%%================================================================================
|
||||
|
||||
-spec ensure_shard(shard(), emqx_ds_storage_layer:options()) ->
|
||||
ok | {error, _Reason}.
|
||||
ensure_shard(Shard, Options) ->
|
||||
case emqx_ds_storage_layer_sup:start_shard(Shard, Options) of
|
||||
{ok, _Pid} ->
|
||||
ok;
|
||||
{error, {already_started, _Pid}} ->
|
||||
ok;
|
||||
{error, Reason} ->
|
||||
{error, Reason}
|
||||
end.
|
||||
|
||||
%%--------------------------------------------------------------------------------
|
||||
%% Message
|
||||
%%--------------------------------------------------------------------------------
|
||||
|
|
Loading…
Reference in New Issue