mirror of https://gitee.com/xiaonuobase/snowy
【更新】定时任务新增立即运行接口
parent
16ff5dcb3c
commit
b04c7510e5
|
@ -164,13 +164,28 @@ public class DevJobController {
|
|||
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
|
||||
* @date 2022/4/24 20:00
|
||||
*/
|
||||
@ApiOperationSupport(order = 8)
|
||||
@ApiOperationSupport(order = 9)
|
||||
@ApiOperation("获取定时任务类")
|
||||
@GetMapping("/dev/job/getActionClass")
|
||||
public CommonResult<List<String>> getActionClass() {
|
||||
|
|
|
@ -99,6 +99,14 @@ public interface DevJobService extends IService<DevJob> {
|
|||
**/
|
||||
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()));
|
||||
}
|
||||
|
||||
@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
|
||||
public List<String> getActionClass() {
|
||||
Map<String, CommonTimerTaskRunner> commonTimerTaskRunnerMap = SpringUtil.getBeansOfType(CommonTimerTaskRunner.class);
|
||||
|
|
Loading…
Reference in New Issue