From f12960b94d949778001004c7af68ced0c3a3f28d Mon Sep 17 00:00:00 2001
From: 钟日健 <5689795+arsn@user.noreply.gitee.com>
Date: Thu, 17 Mar 2022 15:04:33 +0800
Subject: [PATCH] 新增任务执行时间监控
---
deploy/deploy.yml | 2 +-
src/main/java/org/springblade/modules/quartz/entity/ScheduledJob.java | 7 +++++++
src/main/java/org/springblade/modules/quartz/controller/ScheduledController.java | 2 +-
src/main/java/org/springblade/modules/quartz/listener/SchedulerListener.java | 9 ++++++++-
4 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/deploy/deploy.yml b/deploy/deploy.yml
index 06eff9b..6c3031b 100644
--- a/deploy/deploy.yml
+++ b/deploy/deploy.yml
@@ -25,7 +25,7 @@
imagePullSecrets:
- name: aliyun #提前在项目下配置访问阿里云的账号密码
containers:
- - image: registry.cn-hangzhou.aliyuncs.com/arsn/zhbaw:SNAPSHOT-7
+ - image: registry.cn-hangzhou.aliyuncs.com/arsn/zhbaw:SNAPSHOT-8
# - image: $REGISTRY/$DOCKERHUB_NAMESPACE/zhba:SNAPSHOT-$BUILD_NUMBER
imagePullPolicy: Always
name: zhbaw
diff --git a/src/main/java/org/springblade/modules/quartz/controller/ScheduledController.java b/src/main/java/org/springblade/modules/quartz/controller/ScheduledController.java
index 6f8df60..8e132ea 100644
--- a/src/main/java/org/springblade/modules/quartz/controller/ScheduledController.java
+++ b/src/main/java/org/springblade/modules/quartz/controller/ScheduledController.java
@@ -147,7 +147,7 @@
}
/**
- * 定时任务恢复
+ * 暂停定时任务
* @param scheduledJob
* @return
*/
diff --git a/src/main/java/org/springblade/modules/quartz/entity/ScheduledJob.java b/src/main/java/org/springblade/modules/quartz/entity/ScheduledJob.java
index bd34cd0..325be31 100644
--- a/src/main/java/org/springblade/modules/quartz/entity/ScheduledJob.java
+++ b/src/main/java/org/springblade/modules/quartz/entity/ScheduledJob.java
@@ -81,4 +81,11 @@
@JsonFormat(locale = "zh",pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date updateTime;
+ /**
+ * 最近一次执行时间
+ */
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(locale = "zh",pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ private Date activeTime;
+
}
diff --git a/src/main/java/org/springblade/modules/quartz/listener/SchedulerListener.java b/src/main/java/org/springblade/modules/quartz/listener/SchedulerListener.java
index eba0036..0458027 100644
--- a/src/main/java/org/springblade/modules/quartz/listener/SchedulerListener.java
+++ b/src/main/java/org/springblade/modules/quartz/listener/SchedulerListener.java
@@ -3,11 +3,14 @@
import lombok.AllArgsConstructor;
import org.springblade.modules.quartz.entity.ScheduledJob;
import org.springblade.modules.quartz.event.ScheduleEvent;
+import org.springblade.modules.quartz.service.ScheduledJobService;
import org.springblade.modules.quartz.util.SpringBeanTaskUtil;
import org.springframework.context.event.EventListener;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.stereotype.Component;
+
+import java.util.Date;
/**
* 异步监听定时任务事件,解决job线程无故丢失的问题
@@ -18,6 +21,9 @@
@AllArgsConstructor
@EnableAsync
public class SchedulerListener {
+ private final ScheduledJobService scheduledJobService;
+
+
@Async
@EventListener(ScheduleEvent.class)
@@ -25,10 +31,11 @@
//获取事件对象
ScheduledJob scheduledJob = event.getScheduledJob();
System.out.println("开始执行任务......");
+ scheduledJob.setActiveTime(new Date());
+ scheduledJobService.updateById(scheduledJob);
//开始执行任务
SpringBeanTaskUtil.invokeMethod(scheduledJob);
System.out.println("任务执行结束......");
-
}
}
--
Gitblit v1.9.3