feat: add new command for Elixir expression evaluation
Currently, Elixir expressions are evaluated on an EMQX node using the 'eval' command, which works for both Erlang and Elixir expressions. This commit adds the new command 'eval-ex' exclusively for evaluating Elixir expressions on Elixir nodes, similar to 'eval-erl' for Erlang.
This commit is contained in:
parent
476532ab54
commit
d9fc8fbc87
25
bin/emqx
25
bin/emqx
|
@ -164,6 +164,9 @@ usage() {
|
||||||
eval-erl)
|
eval-erl)
|
||||||
echo "Evaluate an Erlang expression in the EMQX node, even on Elixir node"
|
echo "Evaluate an Erlang expression in the EMQX node, even on Elixir node"
|
||||||
;;
|
;;
|
||||||
|
eval-ex)
|
||||||
|
echo "Evaluate an Elixir expression in the EMQX node. Only applies to Elixir node"
|
||||||
|
;;
|
||||||
versions)
|
versions)
|
||||||
echo "List installed EMQX release versions and their status"
|
echo "List installed EMQX release versions and their status"
|
||||||
;;
|
;;
|
||||||
|
@ -228,7 +231,7 @@ usage() {
|
||||||
echo " Install Info: ertspath | root_dir"
|
echo " Install Info: ertspath | root_dir"
|
||||||
echo " Runtime Status: pid | ping"
|
echo " Runtime Status: pid | ping"
|
||||||
echo " Validate Config: check_config"
|
echo " Validate Config: check_config"
|
||||||
echo " Advanced: console_clean | escript | rpc | rpcterms | eval | eval-erl"
|
echo " Advanced: console_clean | escript | rpc | rpcterms | eval | eval-erl | eval-ex"
|
||||||
echo ''
|
echo ''
|
||||||
echo "Execute '$REL_NAME COMMAND help' for more information"
|
echo "Execute '$REL_NAME COMMAND help' for more information"
|
||||||
;;
|
;;
|
||||||
|
@ -1280,7 +1283,27 @@ case "${COMMAND}" in
|
||||||
shift
|
shift
|
||||||
relx_nodetool "eval" "$@"
|
relx_nodetool "eval" "$@"
|
||||||
;;
|
;;
|
||||||
|
eval-ex)
|
||||||
|
assert_node_alive
|
||||||
|
|
||||||
|
shift
|
||||||
|
if [ "$IS_ELIXIR" = "yes" ]
|
||||||
|
then
|
||||||
|
"$REL_DIR/elixir" \
|
||||||
|
--hidden \
|
||||||
|
--name "rand-$(relx_gen_id)-$NAME" \
|
||||||
|
--cookie "$COOKIE" \
|
||||||
|
--boot "$REL_DIR/start_clean" \
|
||||||
|
--boot-var RELEASE_LIB "$ERTS_LIB_DIR" \
|
||||||
|
--vm-args "$REL_DIR/remote.vm.args" \
|
||||||
|
--erl "-start_epmd false -epmd_module ekka_epmd" \
|
||||||
|
--rpc-eval "$NAME" "$@"
|
||||||
|
else
|
||||||
|
echo "EMQX node is not an Elixir node"
|
||||||
|
usage "$COMMAND"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
;;
|
||||||
check_config)
|
check_config)
|
||||||
check_config
|
check_config
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Add command 'eval-ex' for Elixir expression evaluation.
|
Loading…
Reference in New Issue