From 7fc6296bc13c2725dd5c493ab4da11c787f4e97c Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 31 May 2021 16:01:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=A3=80=E6=B5=8B=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/dataease/base/mapper/ext/UtilMapper.java | 7 +++++++ .../main/java/io/dataease/base/mapper/ext/UtilMapper.xml | 9 +++++++++ .../io/dataease/service/dataset/DataSetTableService.java | 7 +++++-- 3 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 backend/src/main/java/io/dataease/base/mapper/ext/UtilMapper.java create mode 100644 backend/src/main/java/io/dataease/base/mapper/ext/UtilMapper.xml 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());