fix: 新增手动启动定时任务接口
This commit is contained in:
@@ -9,6 +9,7 @@ package com.adc.da.search.conf;
|
|||||||
import com.adc.da.slrs.tsTask.dao.TbTaskDao;
|
import com.adc.da.slrs.tsTask.dao.TbTaskDao;
|
||||||
import com.adc.da.slrs.tsTask.entity.TbTask;
|
import com.adc.da.slrs.tsTask.entity.TbTask;
|
||||||
import com.adc.da.slrs.tsTask.service.ITbTaskService;
|
import com.adc.da.slrs.tsTask.service.ITbTaskService;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
@@ -95,7 +96,7 @@ public class SchedulerConf {
|
|||||||
log.info("{},任务启动!", taskId);
|
log.info("{},任务启动!", taskId);
|
||||||
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
|
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
|
||||||
log.error("{},任务启动失败...", taskId);
|
log.error("{},任务启动失败...", taskId);
|
||||||
e.printStackTrace();
|
log.error(e.getMessage(),e);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -113,6 +114,28 @@ public class SchedulerConf {
|
|||||||
log.info("{},任务停止...", taskId);
|
log.info("{},任务停止...", taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public TbTask manualRunTask(String taskId){
|
||||||
|
TbTask task = iTbTaskService.getById(taskId);
|
||||||
|
if(task!=null){
|
||||||
|
try {
|
||||||
|
//获取并实例化Runnable任务类
|
||||||
|
Class<?> clazz = Class.forName(task.getTaskClass());
|
||||||
|
Runnable runnable = (Runnable) clazz.newInstance();
|
||||||
|
Thread runTaskThread = new Thread(runnable);
|
||||||
|
runTaskThread.start();
|
||||||
|
log.info("{},任务开始启动执行!", task.getTaskName());
|
||||||
|
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
|
||||||
|
log.error("{},任务启动失败...", task.getTaskName());
|
||||||
|
log.error(e.getMessage(),e);
|
||||||
|
|
||||||
|
}
|
||||||
|
return task;
|
||||||
|
}else{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据ip开启定时任务
|
* 根据ip开启定时任务
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
package com.adc.da.slrs.tsTask.controller;
|
package com.adc.da.slrs.tsTask.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import com.adc.da.http.ResponseMessage;
|
||||||
|
import com.adc.da.http.Result;
|
||||||
import com.adc.da.search.conf.SchedulerConf;
|
import com.adc.da.search.conf.SchedulerConf;
|
||||||
import com.adc.da.slrs.tsTask.service.ITbTaskService;
|
import com.adc.da.slrs.tsTask.service.ITbTaskService;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
import oracle.ucp.proxy.annotation.Post;
|
import oracle.ucp.proxy.annotation.Post;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -55,6 +58,20 @@ public class TbTaskController extends BaseController<TbTask> {
|
|||||||
return "操作成功";
|
return "操作成功";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation(value = "手动启动定时任务")
|
||||||
|
@GetMapping("/manualRunTask/{taskId}")
|
||||||
|
public ResponseMessage manualRunTask(@PathVariable("taskId") String taskId) {
|
||||||
|
TbTask tbTask = schedulerConf.manualRunTask(taskId);
|
||||||
|
if(tbTask!=null){
|
||||||
|
return Result.success("开始启动定时任务:《"+tbTask.getTaskName()+"》");
|
||||||
|
}else{
|
||||||
|
return Result.error("定时任务未找到:"+taskId);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据ip开启定时任务
|
* 根据ip开启定时任务
|
||||||
* http://localhost:10085/tbTask
|
* http://localhost:10085/tbTask
|
||||||
|
|||||||
Reference in New Issue
Block a user