forked from github/dataease
fix(数据集): 检测数据集同步状态
This commit is contained in:
parent
08795f851d
commit
31f68d95b6
@ -2456,13 +2456,29 @@ public class DataSetTableService {
|
||||
DatasetTableExample example = new DatasetTableExample();
|
||||
example.createCriteria().andSyncStatusEqualTo(JobStatus.Underway.name());
|
||||
List<DatasetTable> jobStoppeddDatasetTables = new ArrayList<>();
|
||||
List<DatasetTable> syncDatasetTables = new ArrayList<>();
|
||||
|
||||
datasetTableMapper.selectByExample(example).forEach(datasetTable -> {
|
||||
List<DatasetTable> datasetTables = datasetTableMapper.selectByExample(example);
|
||||
datasetTables.forEach(datasetTable -> {
|
||||
if (StringUtils.isNotEmpty(datasetTable.getQrtzInstance()) && !activeQrtzInstances.contains(datasetTable.getQrtzInstance().substring(0, datasetTable.getQrtzInstance().length() - 13))) {
|
||||
jobStoppeddDatasetTables.add(datasetTable);
|
||||
}else {
|
||||
syncDatasetTables.add(datasetTable);
|
||||
}
|
||||
});
|
||||
|
||||
datasetTables.forEach(datasetTable -> {
|
||||
DatasetTableTaskExample datasetTableTaskExample = new DatasetTableTaskExample();
|
||||
DatasetTableTaskExample.Criteria criteria = datasetTableTaskExample.createCriteria();
|
||||
criteria.andTableIdEqualTo(datasetTable.getId()).andLastExecStatusEqualTo(JobStatus.Underway.name());
|
||||
if(CollectionUtils.isEmpty(dataSetTableTaskService.list(datasetTableTaskExample))){
|
||||
DatasetTable record = new DatasetTable();
|
||||
record.setSyncStatus(JobStatus.Error.name());
|
||||
example.clear();
|
||||
example.createCriteria().andIdEqualTo(datasetTable.getId());
|
||||
datasetTableMapper.updateByExampleSelective(record, example);
|
||||
}
|
||||
});
|
||||
if (CollectionUtils.isEmpty(jobStoppeddDatasetTables)) {
|
||||
return;
|
||||
}
|
||||
|
@ -333,12 +333,12 @@ public class ExtractDataService {
|
||||
System.out.println(ignore.getMessage());
|
||||
}
|
||||
try {
|
||||
dataSetTableTaskService.updateTaskStatus(datasetTableTask, lastExecStatus);
|
||||
updateTableStatus(datasetTableId, lastExecStatus, execTime);
|
||||
} catch (Exception ignore) {
|
||||
System.out.println(ignore.getMessage());
|
||||
}
|
||||
try {
|
||||
updateTableStatus(datasetTableId, lastExecStatus, execTime);
|
||||
dataSetTableTaskService.updateTaskStatus(datasetTableTask, lastExecStatus);
|
||||
} catch (Exception ignore) {
|
||||
System.out.println(ignore.getMessage());
|
||||
}
|
||||
@ -392,11 +392,11 @@ public class ExtractDataService {
|
||||
} catch (Exception ignore) {
|
||||
}
|
||||
try {
|
||||
dataSetTableTaskService.updateTaskStatus(datasetTableTask, lastExecStatus);
|
||||
updateTableStatus(datasetTableId, lastExecStatus, execTime);
|
||||
} catch (Exception ignore) {
|
||||
}
|
||||
try {
|
||||
updateTableStatus(datasetTableId, lastExecStatus, execTime);
|
||||
dataSetTableTaskService.updateTaskStatus(datasetTableTask, lastExecStatus);
|
||||
} catch (Exception ignore) {
|
||||
}
|
||||
}
|
||||
|
@ -452,19 +452,22 @@ public class DatasourceService {
|
||||
}
|
||||
|
||||
private void checkAndUpdateDatasourceStatus(Datasource datasource, Boolean withMsg) {
|
||||
Datasource record = new Datasource();
|
||||
DatasourceExample example = new DatasourceExample();
|
||||
example.createCriteria().andIdEqualTo(datasource.getId());
|
||||
try {
|
||||
Provider datasourceProvider = ProviderFactory.getProvider(datasource.getType());
|
||||
DatasourceRequest datasourceRequest = new DatasourceRequest();
|
||||
datasourceRequest.setDatasource(datasource);
|
||||
String status = datasourceProvider.checkStatus(datasourceRequest);
|
||||
datasource.setStatus(status);
|
||||
datasourceMapper.updateByPrimaryKeySelective(datasource);
|
||||
record.setStatus(status);
|
||||
datasourceMapper.updateByExampleSelective(datasource, example);
|
||||
} catch (Exception e) {
|
||||
Datasource temp = datasourceMapper.selectByPrimaryKey(datasource.getId());
|
||||
datasource.setStatus("Error");
|
||||
record.setStatus("Error");
|
||||
if (!StringUtils.equals(temp.getStatus(), "Error")) {
|
||||
sendWebMsg(datasource);
|
||||
datasourceMapper.updateByPrimaryKeySelective(datasource);
|
||||
datasourceMapper.updateByExampleSelective(datasource, example);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user