| | |
| | | package com.ruoyi.project.monitor.service.impl;
|
| | |
|
| | | import java.util.List;
|
| | | import javax.annotation.PostConstruct;
|
| | | import org.quartz.JobDataMap;
|
| | | import org.quartz.JobKey;
|
| | | import org.quartz.Scheduler;
|
| | | import org.quartz.SchedulerException;
|
| | | import org.springframework.beans.factory.annotation.Autowired;
|
| | | import org.springframework.stereotype.Service;
|
| | | import org.springframework.transaction.annotation.Transactional;
|
| | | import com.ruoyi.common.constant.ScheduleConstants;
|
| | | import com.ruoyi.common.exception.job.TaskException;
|
| | | import com.ruoyi.common.utils.job.CronUtils;
|
| | |
| | | import com.ruoyi.project.monitor.domain.SysJob;
|
| | | import com.ruoyi.project.monitor.mapper.SysJobMapper;
|
| | | import com.ruoyi.project.monitor.service.ISysJobService;
|
| | | import jakarta.annotation.PostConstruct;
|
| | | import org.quartz.JobDataMap;
|
| | | import org.quartz.JobKey;
|
| | | import org.quartz.Scheduler;
|
| | | import org.quartz.SchedulerException;
|
| | | import org.springframework.beans.factory.annotation.Autowired;
|
| | | import org.springframework.stereotype.Service;
|
| | | import org.springframework.transaction.annotation.Transactional;
|
| | |
|
| | | import java.util.List;
|
| | |
|
| | | /**
|
| | | * 定时任务调度信息 服务层
|
| | |
| | | @PostConstruct
|
| | | public void init() throws SchedulerException, TaskException
|
| | | {
|
| | | scheduler.clear();
|
| | | // scheduler.clear();
|
| | | List<SysJob> jobList = jobMapper.selectJobAll();
|
| | | for (SysJob job : jobList)
|
| | | {
|
| | |
| | | * @param job 调度信息
|
| | | */
|
| | | @Override
|
| | | @Transactional
|
| | | @Transactional(rollbackFor = Exception.class)
|
| | | public int pauseJob(SysJob job) throws SchedulerException
|
| | | {
|
| | | Long jobId = job.getJobId();
|
| | |
| | | * @param job 调度信息
|
| | | */
|
| | | @Override
|
| | | @Transactional
|
| | | @Transactional(rollbackFor = Exception.class)
|
| | | public int resumeJob(SysJob job) throws SchedulerException
|
| | | {
|
| | | Long jobId = job.getJobId();
|
| | |
| | | * @param job 调度信息
|
| | | */
|
| | | @Override
|
| | | @Transactional
|
| | | @Transactional(rollbackFor = Exception.class)
|
| | | public int deleteJob(SysJob job) throws SchedulerException
|
| | | {
|
| | | Long jobId = job.getJobId();
|
| | |
| | | * @return 结果
|
| | | */
|
| | | @Override
|
| | | @Transactional
|
| | | @Transactional(rollbackFor = Exception.class)
|
| | | public void deleteJobByIds(Long[] jobIds) throws SchedulerException
|
| | | {
|
| | | for (Long jobId : jobIds)
|
| | |
| | | * @param job 调度信息
|
| | | */
|
| | | @Override
|
| | | @Transactional
|
| | | @Transactional(rollbackFor = Exception.class)
|
| | | public int changeStatus(SysJob job) throws SchedulerException
|
| | | {
|
| | | int rows = 0;
|
| | |
| | | * @param job 调度信息
|
| | | */
|
| | | @Override
|
| | | @Transactional
|
| | | public void run(SysJob job) throws SchedulerException
|
| | | @Transactional(rollbackFor = Exception.class)
|
| | | public boolean run(SysJob job) throws SchedulerException
|
| | | {
|
| | | boolean result = false;
|
| | | Long jobId = job.getJobId();
|
| | | String jobGroup = job.getJobGroup();
|
| | | SysJob properties = selectJobById(job.getJobId());
|
| | | // 参数
|
| | | JobDataMap dataMap = new JobDataMap();
|
| | | dataMap.put(ScheduleConstants.TASK_PROPERTIES, properties);
|
| | | scheduler.triggerJob(ScheduleUtils.getJobKey(jobId, jobGroup), dataMap);
|
| | | JobKey jobKey = ScheduleUtils.getJobKey(jobId, jobGroup);
|
| | | if (scheduler.checkExists(jobKey))
|
| | | {
|
| | | result = true;
|
| | | scheduler.triggerJob(jobKey, dataMap);
|
| | | }
|
| | | return result;
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | * @param job 调度信息 调度信息
|
| | | */
|
| | | @Override
|
| | | @Transactional
|
| | | @Transactional(rollbackFor = Exception.class)
|
| | | public int insertJob(SysJob job) throws SchedulerException, TaskException
|
| | | {
|
| | | job.setStatus(ScheduleConstants.Status.PAUSE.getValue());
|
| | |
| | | * @param job 调度信息
|
| | | */
|
| | | @Override
|
| | | @Transactional
|
| | | @Transactional(rollbackFor = Exception.class)
|
| | | public int updateJob(SysJob job) throws SchedulerException, TaskException
|
| | | {
|
| | | SysJob properties = selectJobById(job.getJobId());
|