diff --git a/apps/emqx/src/emqx.erl b/apps/emqx/src/emqx.erl index 36368a857..ca46eadc4 100644 --- a/apps/emqx/src/emqx.erl +++ b/apps/emqx/src/emqx.erl @@ -86,7 +86,7 @@ stop() -> %% @doc Is emqx running? -spec(is_running(node()) -> boolean()). is_running(Node) -> - case rpc:call(Node, ?MODULE, is_running, []) of + case emqx_proto_v1:is_running(Node) of {badrpc, _} -> false; Result -> Result end. diff --git a/apps/emqx/src/proto/emqx_proto_v1.erl b/apps/emqx/src/proto/emqx_proto_v1.erl new file mode 100644 index 000000000..bcfb187a0 --- /dev/null +++ b/apps/emqx/src/proto/emqx_proto_v1.erl @@ -0,0 +1,32 @@ +%%-------------------------------------------------------------------- +%% Copyright (c) 2022 EMQ Technologies Co., Ltd. All Rights Reserved. +%% +%% Licensed under the Apache License, Version 2.0 (the "License"); +%% you may not use this file except in compliance with the License. +%% You may obtain a copy of the License at +%% +%% http://www.apache.org/licenses/LICENSE-2.0 +%% +%% Unless required by applicable law or agreed to in writing, software +%% distributed under the License is distributed on an "AS IS" BASIS, +%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +%% See the License for the specific language governing permissions and +%% limitations under the License. +%%-------------------------------------------------------------------- + +-module(emqx_proto_v1). + +-behaviour(emqx_bpapi). + +-include("bpapi.hrl"). + +-export([ introduced_in/0 + , is_running/1 + ]). + +introduced_in() -> + "5.0.0". + +-spec is_running(node()) -> boolean() | {badrpc, term()}. +is_running(Node) -> + rpc:call(Node, emqx, is_running, []).