diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/UtilMapper.java b/backend/src/main/java/io/dataease/base/mapper/ext/UtilMapper.java
new file mode 100644
index 0000000000..e8842d8d9e
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/mapper/ext/UtilMapper.java
@@ -0,0 +1,7 @@
+package io.dataease.base.mapper.ext;
+
+
+public interface UtilMapper {
+
+ Long currentTimestamp();
+}
diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/UtilMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/UtilMapper.xml
new file mode 100644
index 0000000000..a35e7f619e
--- /dev/null
+++ b/backend/src/main/java/io/dataease/base/mapper/ext/UtilMapper.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
index 14005e8ba9..a9c61f76f7 100644
--- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
+++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java
@@ -6,6 +6,7 @@ import com.google.gson.Gson;
import io.dataease.base.domain.*;
import io.dataease.base.mapper.*;
import io.dataease.base.mapper.ext.ExtDataSetTableMapper;
+import io.dataease.base.mapper.ext.UtilMapper;
import io.dataease.commons.constants.JobStatus;
import io.dataease.commons.utils.*;
import io.dataease.controller.request.dataset.DataSetTableRequest;
@@ -880,12 +881,14 @@ public class DataSetTableService {
return CollectionUtils.isNotEmpty(data);
}
+ @Resource
+ private UtilMapper utilMapper;
+
@QuartzScheduled(cron = "0 0/3 * * * ?")
public void updateDatasetTableStatus(){
List qrtzSchedulerStates = qrtzSchedulerStateMapper.selectByExample(null);
- List activeQrtzInstances = qrtzSchedulerStates.stream().filter(qrtzSchedulerState -> qrtzSchedulerState.getLastCheckinTime() + qrtzSchedulerState.getCheckinInterval() + 1000 > System.currentTimeMillis()).map(QrtzSchedulerStateKey::getInstanceName).collect(Collectors.toList());
+ List activeQrtzInstances = qrtzSchedulerStates.stream().filter(qrtzSchedulerState -> qrtzSchedulerState.getLastCheckinTime() + qrtzSchedulerState.getCheckinInterval() + 1000 > utilMapper.currentTimestamp()).map(QrtzSchedulerStateKey::getInstanceName).collect(Collectors.toList());
List jobStoppeddDatasetTables = new ArrayList<>();
-
DatasetTableExample example = new DatasetTableExample();
example.createCriteria().andSyncStatusEqualTo(JobStatus.Underway.name());