mirror of https://gitee.com/xiaonuobase/snowy
【更新】定时任务新增立即运行接口
parent
16ff5dcb3c
commit
b04c7510e5
|
@ -164,13 +164,28 @@ public class DevJobController {
|
||||||
return CommonResult.ok();
|
return CommonResult.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 立即运行定时任务
|
||||||
|
*
|
||||||
|
* @author xuyuxiang
|
||||||
|
* @date 2021/10/13 14:01
|
||||||
|
**/
|
||||||
|
@ApiOperationSupport(order = 8)
|
||||||
|
@ApiOperation("立即运行定时任务")
|
||||||
|
@CommonLog("立即运行定时任务")
|
||||||
|
@PostMapping("/dev/job/runJobNow")
|
||||||
|
public CommonResult<String> runJobNow(@RequestBody @Valid DevJobIdParam devJobIdParam) {
|
||||||
|
devJobService.runJobNow(devJobIdParam);
|
||||||
|
return CommonResult.ok();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取定时任务类
|
* 获取定时任务类
|
||||||
*
|
*
|
||||||
* @author xuyuxiang
|
* @author xuyuxiang
|
||||||
* @date 2022/4/24 20:00
|
* @date 2022/4/24 20:00
|
||||||
*/
|
*/
|
||||||
@ApiOperationSupport(order = 8)
|
@ApiOperationSupport(order = 9)
|
||||||
@ApiOperation("获取定时任务类")
|
@ApiOperation("获取定时任务类")
|
||||||
@GetMapping("/dev/job/getActionClass")
|
@GetMapping("/dev/job/getActionClass")
|
||||||
public CommonResult<List<String>> getActionClass() {
|
public CommonResult<List<String>> getActionClass() {
|
||||||
|
|
|
@ -99,6 +99,14 @@ public interface DevJobService extends IService<DevJob> {
|
||||||
**/
|
**/
|
||||||
void runJob(DevJobIdParam devJobIdParam);
|
void runJob(DevJobIdParam devJobIdParam);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 立即运行定时任务
|
||||||
|
*
|
||||||
|
* @author xuyuxiang
|
||||||
|
* @date 2023/3/3 15:50
|
||||||
|
**/
|
||||||
|
void runJobNow(DevJobIdParam devJobIdParam);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取定时任务类
|
* 获取定时任务类
|
||||||
*
|
*
|
||||||
|
|
|
@ -219,6 +219,21 @@ public class DevJobServiceImpl extends ServiceImpl<DevJobMapper, DevJob> impleme
|
||||||
.set(DevJob::getJobStatus, DevJobStatusEnum.RUNNING.getValue()));
|
.set(DevJob::getJobStatus, DevJobStatusEnum.RUNNING.getValue()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void runJobNow(DevJobIdParam devJobIdParam) {
|
||||||
|
DevJob devJob = this.detail(devJobIdParam);
|
||||||
|
if(devJob.getJobStatus().equals(DevJobStatusEnum.STOPPED.getValue())) {
|
||||||
|
// 如果是停止的,则先开启运行
|
||||||
|
this.runJob(devJobIdParam);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
// 直接运行一次
|
||||||
|
((CommonTimerTaskRunner) SpringUtil.getBean(Class.forName(devJob.getActionClass()))).action();
|
||||||
|
} catch (ClassNotFoundException e) {
|
||||||
|
throw new CommonException("定时任务找不到对应的类,名称为:{}", devJob.getActionClass());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getActionClass() {
|
public List<String> getActionClass() {
|
||||||
Map<String, CommonTimerTaskRunner> commonTimerTaskRunnerMap = SpringUtil.getBeansOfType(CommonTimerTaskRunner.class);
|
Map<String, CommonTimerTaskRunner> commonTimerTaskRunnerMap = SpringUtil.getBeansOfType(CommonTimerTaskRunner.class);
|
||||||
|
|
Loading…
Reference in New Issue