feat(emqx_rpc): call with timeout

This commit is contained in:
ieQu1 2022-09-05 13:38:34 +02:00
parent c2d03838e2
commit 03766d54cc
2 changed files with 7 additions and 0 deletions

View File

@ -153,6 +153,8 @@ extract_mfa(?BACKEND(emqx_rpc, CallOrCast), [_Node, M, F, A]) ->
{call_or_cast(CallOrCast), M, F, A};
extract_mfa(?BACKEND(emqx_rpc, CallOrCast), [_Tag, _Node, M, F, A]) ->
{call_or_cast(CallOrCast), M, F, A};
extract_mfa(?BACKEND(emqx_rpc, call), [_Tag, _Node, M, F, A, _Timeout]) ->
{call_or_cast(call), M, F, A};
%% (e)rpc:
extract_mfa(?BACKEND(rpc, multicall), [M, F, A]) ->
{call_or_cast(multicall), M, F, A};

View File

@ -22,6 +22,7 @@
-export([
call/4,
call/5,
call/6,
cast/4,
cast/5,
multicall/4,
@ -78,6 +79,10 @@ call(Node, Mod, Fun, Args) ->
call(Key, Node, Mod, Fun, Args) ->
filter_result(gen_rpc:call(rpc_node({Key, Node}), Mod, Fun, Args)).
-spec call(term(), node(), module(), atom(), list(), timeout()) -> call_result().
call(Key, Node, Mod, Fun, Args, Timeout) ->
filter_result(gen_rpc:call(rpc_node({Key, Node}), Mod, Fun, Args, Timeout)).
-spec multicall([node()], module(), atom(), list()) -> multicall_result().
multicall(Nodes, Mod, Fun, Args) ->
gen_rpc:multicall(rpc_nodes(Nodes), Mod, Fun, Args).