forked from github/dataease
fix: 任务列表上次执行时间与执行记录执行时间不一致
This commit is contained in:
parent
9536f730ed
commit
86f0791a4f
@ -117,7 +117,8 @@ public class DataSetTableTaskService {
|
||||
example.or(example.createCriteria().andIdEqualTo(datasetTable.getId()).andSyncStatusIsNull());
|
||||
Boolean existSyncTask = datasetTableMapper.updateByExampleSelective(datasetTable, example) == 0;
|
||||
if(!existSyncTask){
|
||||
datasetTableTask.setLastExecTime(System.currentTimeMillis());
|
||||
Long startTime = System.currentTimeMillis();
|
||||
datasetTableTask.setLastExecTime(startTime);
|
||||
datasetTableTask.setLastExecStatus(JobStatus.Underway.name());
|
||||
datasetTableTask.setStatus(TaskStatus.Exec.name());
|
||||
update(datasetTableTask);
|
||||
@ -125,7 +126,7 @@ public class DataSetTableTaskService {
|
||||
datasetTableTaskLog.setTableId(datasetTableTask.getTableId());
|
||||
datasetTableTaskLog.setTaskId(datasetTableTask.getId());
|
||||
datasetTableTaskLog.setStatus(JobStatus.Underway.name());
|
||||
datasetTableTaskLog.setStartTime(System.currentTimeMillis());
|
||||
datasetTableTaskLog.setStartTime(startTime);
|
||||
datasetTableTaskLog.setTriggerType(TriggerType.Custom.name());
|
||||
dataSetTableTaskLogService.save(datasetTableTaskLog);
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ public class ExtractDataService {
|
||||
"fi\n" +
|
||||
"rm -rf %s\n";
|
||||
|
||||
public synchronized boolean existSyncTask(DatasetTable datasetTable, DatasetTableTask datasetTableTask) {
|
||||
public synchronized boolean existSyncTask(DatasetTable datasetTable, DatasetTableTask datasetTableTask, Long startTime) {
|
||||
datasetTable.setSyncStatus(JobStatus.Underway.name());
|
||||
DatasetTableExample example = new DatasetTableExample();
|
||||
example.createCriteria().andIdEqualTo(datasetTable.getId()).andSyncStatusNotEqualTo(JobStatus.Underway.name());
|
||||
@ -141,7 +141,7 @@ public class ExtractDataService {
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
datasetTableTask.setLastExecTime(System.currentTimeMillis());
|
||||
datasetTableTask.setLastExecTime(startTime);
|
||||
datasetTableTask.setLastExecStatus(JobStatus.Underway.name());
|
||||
datasetTableTask.setStatus(TaskStatus.Exec.name());
|
||||
dataSetTableTaskService.update(datasetTableTask);
|
||||
@ -238,12 +238,13 @@ public class ExtractDataService {
|
||||
LogUtil.info("Skip synchronization task, task ID : " + datasetTableTask.getId());
|
||||
return;
|
||||
}
|
||||
if (existSyncTask(datasetTable, datasetTableTask)) {
|
||||
|
||||
Long startTime = System.currentTimeMillis();
|
||||
if (existSyncTask(datasetTable, datasetTableTask, startTime)) {
|
||||
LogUtil.info("Skip synchronization task for dataset, dataset ID : " + datasetTableId);
|
||||
return;
|
||||
}
|
||||
|
||||
DatasetTableTaskLog datasetTableTaskLog = getDatasetTableTaskLog(datasetTableId, taskId);
|
||||
DatasetTableTaskLog datasetTableTaskLog = getDatasetTableTaskLog(datasetTableId, taskId, startTime);
|
||||
UpdateType updateType = UpdateType.valueOf(type);
|
||||
if (context != null) {
|
||||
datasetTable.setQrtzInstance(context.getFireInstanceId());
|
||||
@ -520,11 +521,12 @@ public class ExtractDataService {
|
||||
}
|
||||
}
|
||||
|
||||
private DatasetTableTaskLog getDatasetTableTaskLog(String datasetTableId, String taskId) {
|
||||
private DatasetTableTaskLog getDatasetTableTaskLog(String datasetTableId, String taskId, Long startTime) {
|
||||
DatasetTableTaskLog datasetTableTaskLog = new DatasetTableTaskLog();
|
||||
datasetTableTaskLog.setTableId(datasetTableId);
|
||||
datasetTableTaskLog.setTaskId(taskId);
|
||||
datasetTableTaskLog.setStatus(JobStatus.Underway.name());
|
||||
datasetTableTaskLog.setTriggerType(TriggerType.Custom.name());
|
||||
for (int i = 0; i < 5; i++) {
|
||||
List<DatasetTableTaskLog> datasetTableTaskLogs = dataSetTableTaskLogService.select(datasetTableTaskLog);
|
||||
if (CollectionUtils.isNotEmpty(datasetTableTaskLogs)) {
|
||||
@ -535,7 +537,8 @@ public class ExtractDataService {
|
||||
} catch (Exception ignore) {
|
||||
}
|
||||
}
|
||||
datasetTableTaskLog.setStartTime(System.currentTimeMillis());
|
||||
datasetTableTaskLog.setTriggerType(TriggerType.Cron.name());
|
||||
datasetTableTaskLog.setStartTime(startTime);
|
||||
dataSetTableTaskLogService.save(datasetTableTaskLog);
|
||||
return datasetTableTaskLog;
|
||||
}
|
||||
|
@ -47,7 +47,7 @@
|
||||
|
||||
<el-table-column prop="nextExecTime" :label="$t('dataset.task.next_exec_time')">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.nextExecTime && scope.row.nextExecTime !== -1 && scope.row.rate !== 'SIMPLE'">
|
||||
<span v-if="scope.row.nextExecTime && scope.row.nextExecTime !== -1 && scope.row.rate !== 'SIMPLE'&& scope.row.status !== 'Pending'">
|
||||
{{ scope.row.nextExecTime | timestampFormatDate }}
|
||||
</span>
|
||||
<span v-if="!scope.row.nextExecTime || scope.row.rate === 'SIMPLE'" />
|
||||
|
Loading…
Reference in New Issue
Block a user