Compare commits

...

3 Commits

Author SHA1 Message Date
Cui YongXing a48c84134a 修改超时时间 2024-09-10 15:01:22 +08:00
Cui YongXing 825ddaf79e 修改超时时间 2024-09-10 15:00:13 +08:00
Cui YongXing e0a92000ab 修改超时时间 2024-09-10 14:53:16 +08:00
1 changed files with 37 additions and 18 deletions

View File

@ -18,6 +18,8 @@ import com.muyu.etl.domain.DataValue;
import com.muyu.remote.feign.DatasourceFeign;
import com.muyu.remote.feign.RuleFeign;
import com.muyu.rule.common.domain.DataValueFie;
import com.muyu.rule.common.domain.DataValueRow;
import com.muyu.rule.common.domain.DataValueRows;
import com.muyu.rule.common.domain.RuleEngineVersion;
import com.muyu.task.server.mapper.TaskInfoMapper;
import com.muyu.task.server.service.*;
@ -401,40 +403,57 @@ public class TaskInfoServiceImpl extends ServiceImpl<TaskInfoMapper, TaskInfo> i
log.info(finalCurrentFuture);
Callable<DataValue[][]> task = () -> {
DataValue[][] prevResult = finalCurrentFuture.get();
HashSet<Integer> set = new HashSet<>();
//log.info(data.getClassName());
if (data.getRuleId().equals("3")) {
DataValueRows dataValueRows = new DataValueRows();
dataValueRows.setDataValue(prevResult);
dataValueRows.setKey(nodeRule.getConfig());
Result<DataValue[][]> result1 = ruleConfig.DataSetEngine(data.getClassName(), dataValueRows);
if (result1.getCode() == 200) {
prevResult = result1.getData();
}
}
if (data.getRuleId().equals("1")) {
for (DataValue[] values : prevResult) {
for (DataValue value : values) {
for (int i = 0; i < prevResult.length; i++) {
for (DataValue value : prevResult[i]) {
//log.info(value.getValue());
try {
DataValueFie dataValueFie = new DataValueFie();
dataValueFie.setDataValue(value);
dataValueFie.setKey(nodeRule.getConfig());
//DataValue dataValue = loadEngineClass.testEngine(data.getClassName(), value);
ruleConfig.testEngine(data.getClassName(),dataValueFie);
} catch (Exception e) {
log.error(e.getMessage());
Result<DataValue> dataValueResult = ruleConfig.testEngine(data.getClassName(), dataValueFie);
if (dataValueResult.getCode() == 200) {
DataValue data1 = dataValueResult.getData();
value = data1;
}else {
set.add(i);
}
}
}
}
if (data.getRuleId().equals("2")) {
// for (DataValue[] values : prevResult) {
// for (DataValue value : values) {
// log.info(value.getValue());
// Result result1 = ruleFeign.testEngine(data.getClassName(), value);
// log.info(result1);
// }
// }
for (int i = 0; i < prevResult.length; i++) {
DataValueRow valueRow = new DataValueRow();
valueRow.setDataValue(prevResult[i]);
valueRow.setKey(nodeRule.getConfig());
Result<DataValue[]> result1 = ruleConfig.testEngine(data.getClassName(), valueRow);
if (result1.getCode() == 200) {
DataValue[] result1Data = result1.getData();
prevResult[i] = result1Data;
} else {
set.add(i);
}
return prevResult;
}
}
List<DataValue[]> listArrays = Arrays.stream(prevResult).toList();
listArrays.removeAll(set);
DataValue[][] array = (DataValue[][]) listArrays.toArray();
return array;
};
// 提交任务并更新当前Future
currentFuture = executor.submit(task);