erlang各种有用的函数包括一些有用nif封装,还有一些性能测试case。
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 
 

36 行
983 B

-module(hot_swap).
-export([
load/1,
network_load/1,
network_load/2
]).
%% 当前节点热部署:
%% @param ModList 模块列表(原子列表)
load(ModList) ->
lists:foreach(fun(Module) ->
code:purge(Module),
code:load_file(Module)
end, ModList).
%% 节点集热更:
%% @param ModList 模块列表(原子列表)
network_load(ModList) ->
lists:foreach(fun(Module) ->
[begin erpc:call(Node, code, purge, [Module]), erpc:call(Node, code, load_file, [Module]) end || Node <- (nodes() ++ [node()])]
end, ModList).
%% 指定单节点热更:
%% @param NodeList 节点集合(原子列表)
%% @param ModList 模块列表(原子列表)
network_load(NodeList, ModList) ->
lists:foreach(fun(Node) ->
lists:foreach(fun(Module) ->
erpc:call(Node, code, purge, [Module]),
erpc:call(Node, code, load_file, [Module])
end, ModList)
end, NodeList).