getRules
语法
getRules([engineName])
参数
engineName 字符串向量,代表要查询的规则引擎的名称。该参数省略时,返回当前节点所有规则引擎的规则信息。
详情
查询规则引擎的规则信息,包括规则集、规则检查策略和回调函数等。
返回一个字典,key 为引擎的名称, value 为字典,包含以下信息:
-
ruleSets:该引擎的规则集。类型为一个字典,key 和 value 定义如下:
-
key:规则集的键值。key 为 “Default” 指默认规则。
-
value:规则集中该键值对应的规则。
-
-
policy:指定引擎的规则检查策略。
-
callback:指定引擎的回调函数的名称,未配置回调函数时为空字符串。
例子
// 设置规则集
x = [1, 2, NULL]
y = [ [ < value > 1 > ], [ < price < 2 >, < price > 6 > ], [ < value*price > 10 > ] ]
ruleSets = dict(x, y)
// 创建规则引擎
names = `sym`value`price`quantity
types = [INT, DOUBLE, DOUBLE, DOUBLE]
dummy = table(1:0, names, types)
outputNames = `sym`value`price`rule
outputTypes = [INT, DOUBLE, DOUBLE, BOOL[]]
outputTable = table(10:0, outputNames, outputTypes)
test = createRuleEngine(name="ruleEngineTest", ruleSets=ruleSets, dummyTable=dummy, outputColumns=["sym","value","price"], outputTable=outputTable, policy="all", ruleSetColumn="sym")
test2 = createRuleEngine(name="ruleEngineTest2", ruleSets=ruleSets, dummyTable=dummy, outputColumns=["sym","value","price"], outputTable=outputTable, policy="all", ruleSetColumn="sym")
// 查询规则
getRules(["ruleEngineTest"])
/*
ruleEngineTest->
ruleSets->
Default->(value * price > 10)
1->(value > 1)
2->(price < 2, price > 6)
policy->all
callback->
*/
// 更新规则
updateRule("ruleEngineTest", 1, [<value > 2>])
// 再次查询
getRules()
/*
ruleEngineTest->
ruleSets->
Default->(value * price > 10)
1->(value > 2)
2->(price < 2, price > 6)
policy->all
callback->
*/
相关函数:createRuleEngine, updateRule, deleteRule