Fx.function:函数调用相关的API
1. executeFunc 同步执行控制器函数
Fx.function.executeFunc(<String functionApiName>, <Map param>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
functionApiName | String | 需要执行的函数apiName |
param | Map | 执行函数时传入的参数 |
返回值类型
APIResult
返回值说明
返回的数据类型: Object
Java举例
Map keyValue = Maps.of(
"key1", "value1",
"key2", "value2"
);
Map param = Maps.of(
"map", keyValue
);
final APIResult ret = Fx.function.executeFunc("funcCalled__c", param);
Fx.log.info(ret.getData());
Groovy举例
Map keyValue = [
"key1":"value1",
"key2":"value2"
]
Map param = [
"map":keyValue
]
def (error,result,errorMessage) = Fx.function.executeFunc("funcCalled__c",param)
Fx.log.info(result)
注意事项
- 推荐通过类来封装方法替换同步自定义控制器
2. executeAsyncFunc 异步执行控制器函数
Fx.function.executeAsyncFunc(<String functionApiName>, <Map param>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
functionApiName | String | 需要执行的函数apiName |
param | Map | 执行函数时传入的参数 |
返回值类型
APIResult
返回值说明
返回的数据类型: String
Java举例
Map keyValue = Maps.of(
"key1", "value1",
"key2", "value2"
);
Map param = Maps.of(
"map", keyValue
);
final APIResult ret = Fx.function.executeAsyncFunc("funcCalled__c",param);
Fx.log.info(ret.getData());
Groovy举例
Map keyValue = [
"key1":"value1",
"key2":"value2"
]
Map param = [
"map":keyValue
]
def (error,result,errorMessage) = Fx.function.executeAsyncFunc("funcCalled__c",param)
Fx.log.info(result)
3. executeOrderlyAsyncFunc 顺序执行异步控制器函数
Fx.function.executeOrderlyAsyncFunc(<String functionApiName>, <Map param>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
functionApiName | String | 需要执行的函数apiName |
param | Map | 执行函数时传入的参数 |
返回值类型
APIResult
返回值说明
返回的数据类型: String,后台异步任务Id
Java举例
Map keyValue = Maps.of(
"key1", "value1",
"key2", "value2"
);
Map param = Maps.of(
"map", keyValue
);
final APIResult ret = Fx.function.executeOrderlyAsyncFunc("funcCalled__c",param);
Fx.log.info(ret.getData());
Groovy举例
Map keyValue = [
"key1":"value1",
"key2":"value2"
]
Map param = [
"map":keyValue
]
def (error,result,errorMessage) = Fx.function.executeOrderlyAsyncFunc("funcCalled__c",param)
Fx.log.info(result)
4. ontimeFunc 定时执行控制器函数
Fx.function.ontimeFunc(<String functionApiName>, <Map param>, <String runTime>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
functionApiName | String | 需要执行的函数apiName |
param | Map | 执行函数时传入的参数 |
runTime | String | 定时执行的时间 |
返回值类型
APIResult
返回值说明
返回的数据类型: String,后台异步任务Id
Java举例
Map keyValue = Maps.of(
"key1", "value1",
"key2", "value2"
);
Map param = Maps.of(
"map", keyValue
);
final APIResult ret = Fx.function.ontimeFunc("funcCalled__c",param,"100");
Groovy举例
Map keyValue = [
"key1":"value1",
"key2":"value2"
]
Map param = [
"map":keyValue
]
def (error,result,errorMessage) = Fx.function.ontimeFunc("funcCalled__c",param,"2021-05-03 00:00:00")
5. asyncOnVipQueue 使用独立的队列执行异步任务,不影响其他异步任务的执行(需要单独付费)
Fx.function.asyncOnVipQueue(<String functionApiName>, <Map param>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
functionApiName | String | 需要执行的函数apiName |
param | Map | 执行函数时传入的参数 |
返回值类型
APIResult
返回值说明
返回的数据类型: String 函数执行的traceId
Java举例
Map keyValue = Maps.of(
"a", 123,
"b", "sdte"
);
Map param = Maps.of(
"map", keyValue
);
final APIResult ret = Fx.function.executeFunc("func_U4Oqt__c", param);
Fx.log.info(ret.getData());
Groovy举例
Map param = [
"map":[
"a": 123,
"b": "sdte"
]
]
def (Boolean error, String traceId, String message) = Fx.function.asyncOnVipQueue("func_U4Oqt__c", param)
if (error) {
log.info("error :" + message)
}
log.info(traceId)
6. asyncOnVipQueue 使用独立的队列执行异步任务,指定队列,不影响其他异步任务的执行(需要单独付费)
Fx.function.asyncOnVipQueue(<String functionApiName>, <Map param>, <Integer queueIndex>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
functionApiName | String | 需要执行的函数apiName |
param | Map | 执行函数时传入的参数 |
queueIndex | Integer | 指定执行的队列(队列的下标,从0开始,当大于购买数量时做取模运算) |
返回值类型
APIResult
返回值说明
返回的数据类型: String 函数执行的traceId
Java举例
Map keyValue = Maps.of(
"a", 123,
"b", "sdte"
);
Map param = Maps.of(
"map", keyValue
);
final APIResult ret = Fx.function.executeFunc("func_U4Oqt__c", param, 0);
Fx.log.info(ret.getData());
Groovy举例
Map param = [
"map":[
"a": 123,
"b": "sdte"
]
]
def (Boolean error, String traceId, String message) = Fx.function.asyncOnVipQueue("func_U4Oqt__c", param, 0)
if (error) {
log.info("error :" + message)
}
log.info(traceId)