chore: auto retry disconnected authn/authz resources
This commit is contained in:
parent
b134c3562a
commit
f8c90452cc
|
@ -45,9 +45,14 @@
|
||||||
?PH_CERT_CN_NAME
|
?PH_CERT_CN_NAME
|
||||||
]).
|
]).
|
||||||
|
|
||||||
%%------------------------------------------------------------------------------
|
-define(DEFAULT_RESOURCE_OPTS, #{
|
||||||
|
auto_retry_interval => 6000,
|
||||||
|
start_after_created => false
|
||||||
|
}).
|
||||||
|
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
%% APIs
|
%% APIs
|
||||||
%%------------------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
create_resource(ResourceId, Module, Config) ->
|
create_resource(ResourceId, Module, Config) ->
|
||||||
Result = emqx_resource:create_local(
|
Result = emqx_resource:create_local(
|
||||||
|
@ -55,13 +60,14 @@ create_resource(ResourceId, Module, Config) ->
|
||||||
?RESOURCE_GROUP,
|
?RESOURCE_GROUP,
|
||||||
Module,
|
Module,
|
||||||
Config,
|
Config,
|
||||||
#{start_after_created => false}
|
?DEFAULT_RESOURCE_OPTS
|
||||||
),
|
),
|
||||||
start_resource_if_enabled(Result, ResourceId, Config).
|
start_resource_if_enabled(Result, ResourceId, Config).
|
||||||
|
|
||||||
update_resource(Module, Config, ResourceId) ->
|
update_resource(Module, Config, ResourceId) ->
|
||||||
Opts = #{start_after_created => false},
|
Result = emqx_resource:recreate_local(
|
||||||
Result = emqx_resource:recreate_local(ResourceId, Module, Config, Opts),
|
ResourceId, Module, Config, ?DEFAULT_RESOURCE_OPTS
|
||||||
|
),
|
||||||
start_resource_if_enabled(Result, ResourceId, Config).
|
start_resource_if_enabled(Result, ResourceId, Config).
|
||||||
|
|
||||||
start_resource_if_enabled({ok, _} = Result, ResourceId, #{enable := true}) ->
|
start_resource_if_enabled({ok, _} = Result, ResourceId, #{enable := true}) ->
|
||||||
|
@ -166,9 +172,9 @@ make_resource_id(Name) ->
|
||||||
NameBin = bin(Name),
|
NameBin = bin(Name),
|
||||||
emqx_resource:generate_id(NameBin).
|
emqx_resource:generate_id(NameBin).
|
||||||
|
|
||||||
%%------------------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
%% Internal functions
|
%% Internal functions
|
||||||
%%------------------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
handle_var({var, Name}, undefined) ->
|
handle_var({var, Name}, undefined) ->
|
||||||
error({cannot_get_variable, Name});
|
error({cannot_get_variable, Name});
|
||||||
|
|
|
@ -34,9 +34,14 @@
|
||||||
render_sql_params/2
|
render_sql_params/2
|
||||||
]).
|
]).
|
||||||
|
|
||||||
%%------------------------------------------------------------------------------
|
-define(DEFAULT_RESOURCE_OPTS, #{
|
||||||
|
auto_retry_interval => 6000,
|
||||||
|
start_after_created => false
|
||||||
|
}).
|
||||||
|
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
%% APIs
|
%% APIs
|
||||||
%%------------------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
create_resource(Module, Config) ->
|
create_resource(Module, Config) ->
|
||||||
ResourceId = make_resource_id(Module),
|
ResourceId = make_resource_id(Module),
|
||||||
|
@ -48,7 +53,7 @@ create_resource(ResourceId, Module, Config) ->
|
||||||
?RESOURCE_GROUP,
|
?RESOURCE_GROUP,
|
||||||
Module,
|
Module,
|
||||||
Config,
|
Config,
|
||||||
#{start_after_created => false}
|
?DEFAULT_RESOURCE_OPTS
|
||||||
),
|
),
|
||||||
start_resource_if_enabled(Result, ResourceId, Config).
|
start_resource_if_enabled(Result, ResourceId, Config).
|
||||||
|
|
||||||
|
@ -59,7 +64,7 @@ update_resource(Module, #{annotations := #{id := ResourceId}} = Config) ->
|
||||||
ResourceId,
|
ResourceId,
|
||||||
Module,
|
Module,
|
||||||
Config,
|
Config,
|
||||||
#{start_after_created => false}
|
?DEFAULT_RESOURCE_OPTS
|
||||||
)
|
)
|
||||||
of
|
of
|
||||||
{ok, _} -> {ok, ResourceId};
|
{ok, _} -> {ok, ResourceId};
|
||||||
|
@ -125,9 +130,9 @@ render_sql_params(ParamList, Values) ->
|
||||||
#{return => rawlist, var_trans => fun handle_sql_var/2}
|
#{return => rawlist, var_trans => fun handle_sql_var/2}
|
||||||
).
|
).
|
||||||
|
|
||||||
%%------------------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
%% Internal functions
|
%% Internal functions
|
||||||
%%------------------------------------------------------------------------------
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
client_vars(ClientInfo) ->
|
client_vars(ClientInfo) ->
|
||||||
maps:from_list(
|
maps:from_list(
|
||||||
|
|
Loading…
Reference in New Issue