定时任务调用逻辑修改

This commit is contained in:
2022-02-08 10:20:38 +08:00
parent cba56f6e56
commit 1016ad6751
5 changed files with 37 additions and 15 deletions

View File

@@ -2,9 +2,10 @@ package com.hxuanyu.test.controller;
import com.hxuanyu.common.message.Msg;
import com.hxuanyu.monitor.base.BaseMonitorItem;
import com.hxuanyu.monitor.common.CheckResult;
import com.hxuanyu.monitor.manager.MonitorItemBeanManager;
import com.hxuanyu.notify.enums.NotifyType;
import com.hxuanyu.test.monitor.TestMonitorItem;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -21,6 +22,7 @@ import java.util.Map;
@RequestMapping("/monitor")
@RestController
public class MonitorTestController {
private final Logger logger = LoggerFactory.getLogger(MonitorTestController.class);
@Resource
MonitorItemBeanManager monitorItemBeanManager;
@@ -49,12 +51,7 @@ public class MonitorTestController {
@PostMapping("/")
public Msg<String> addTaskList() {
return monitorItemBeanManager.addMonitorTask(new BaseMonitorItem("CustomBean", "0/10 * * * * *") {
@Override
public CheckResult check() {
return CheckResult.triggered("动态新增通知", NotifyType.TYPE_LOG);
}
});
return monitorItemBeanManager.addMonitorTask(TestMonitorItem.class, "0/5 * * * * *");
}

View File

@@ -14,14 +14,21 @@ import org.slf4j.LoggerFactory;
*
* @author hxuanyu
*/
@MonitorItem(cron = "0/20 * * * * *")
public class TestMonitorItem extends BaseMonitorItem {
private final Logger logger = LoggerFactory.getLogger(TestMonitorItem.class);
public TestMonitorItem(String monitorItemName, String cron) {
super(monitorItemName, cron);
}
public TestMonitorItem(String cron) {
super(cron);
}
@Override
public CheckResult check() {
double random = Math.random();
int result = (int) (random * NotifyType.values().length);
logger.info("随机索引值:{}", result);

View File

@@ -19,7 +19,9 @@ public class MonitorTest {
@Test
public void testMonitorItemScan() {
BaseMonitorItem testMonitorItem = monitorItemBeanManager.getMonitorItemMap().get("ScheduledTask-TestMonitorItem");
assert testMonitorItem.getMonitorItemName() != null;
logger.info("获取到的Bean{}", testMonitorItem.toString());
if (testMonitorItem != null){
assert testMonitorItem.getMonitorItemName() != null;
logger.info("获取到的Bean{}", testMonitorItem.toString());
}
}
}